Je n'ai pas beaucoup d'expérience dans l'industrie du logiciel, je suis autodidacte et j'ai participé à l'open source avant de décider de travailler. Maintenant que je travaille pour de l'argent, je dois aussi faire face à des problèmes désagréables, ce qui est normal bien sûr.
Récemment, on m'a demandé d'ajouter la journalisation à un grand projet SharePoint écrit par un programmeur qui visiblement était en train d'apprendre à coder sur le tas. Après 2 ans de collaboration, le client a changé pour notre société, mais le mal était fait et maintenant, il me faut maintenant maintenir ce code.
Non pas que le code était trop difficile à lire. Malgré les problèmes - chaque projet a une classe avec plusieurs méthodes de copier-coller, d'énormes if
imbrications, des systèmes hongrois, des connexions non exposées - il est toujours lisible.
Cependant, je me suis trouvé absolument improductif malgré le fait de travailler sur quelque chose d'aussi simple que d'ajouter la journalisation. Fondamentalement, je dois simplement parcourir le code étape par étape et ajouter des appels de trace. Cependant, l'idiotie du code est tellement ennuyeuse que je suis fatigué dans les 10 minutes qui suivent . Au début, j’avais l'habitude d'ajouter des using
constructions, de réduire l'imbrication en inversant if
les noms, de renommer les variables en noms lisibles - mais le projet est volumineux et j'ai fini par abandonner. Je sais que ce n'est pas la tâche que je devrais faire, mais au moins réduire les dégâts m'a donné une sorte de récompense psychologique pour que je puisse continuer. Maintenant, le truc a cessé de fonctionner et il me reste 60% de mon travail à faire.
J'ai commencé à avoir des maux de tête après le travail et je n'éprouvais plus le sentiment de satisfaction que je ressentais auparavant, ce qui me permettait généralement de coder pendant 10 heures d'affilée tout en me sentant fraîche.
Il ne s’agit pas simplement d’un coup de gueule, car j’ai vraiment une question à poser:
Y a-t-il un moyen de rester productif et de ne pas lutter contre les moulins à vent?
Existe-t-il une astuce psychologique pour rester concentré sur la tâche, au lieu de penser «Comment est- ce stupide ?» À chaque fois que je vois un autre astuce intelligente du programmeur précédent? Le problème avec l'ajout de la journalisation est que je dois réellement comprendre ce que le code fait, et cela me fait mal au cerveau d'une manière désagréable.
obj
est décourageant parce que c'est fondamentalement illisible.