Parfois, je travaille avec du code qui sent mauvais. Oui, il y a du mauvais code :) Je ne parle pas de problème de conception mais de choses beaucoup plus simples comme :
- indentation désordonnée
- utilisation non cohérente des lignes vides
- de grandes bannières présentant les fonctions, qui ne font que répéter les noms des fonctions/méthodes
- conversion des noms non cohérente, même dans la même ligne
- une logique de fonctionnement mal structurée (par exemple, des contrôles redondants, des répétitions, etc.)
- couplage étroit des données et de la logique
- et bien plus encore
Un exemple juste pour visualiser ce dont je parle (C++)
class MyClass
{
public:
/*******************************************************
| constructor |
********************************************************/
MyClass()
{
}
/*******************************************************
| destructor |
********************************************************/
~MyClass() {}
void Foo(char *Name, const char* Type, char* sub_type);
};
Personnellement, je n'aime pas travailler avec un tel code, cela me décourage d'écrire du bon code, de penser à des obstacles de plus haut niveau.
Ce qui me rend le plus fou, c'est que les développeurs de mes collègues ne comprennent pas quand on leur dit que quelque chose ne va pas dans le code - ils continuent joyeusement à soutenir ce gâchis.
Malheureusement, les managers ne sont pas intéressés par la "beauté" du code, ils ne voient pas l'impact d'un mauvais code à long terme. Quand il y a un créneau libre, rien n'est fait pour nettoyer/améliorer le code - ce n'est jamais planifié comme une tâche/un projet. Parfois, à mes plaintes, j'entends une réponse bien connue : "ça marche - n'y touchez pas" .
Je pense que c'est une mauvaise pratique. Ne pas gérer les problèmes, c'est comme une graisse, cela vous rend maladroit, pas compétitif.
Que faire ? Se plaindre constamment pour livrer le problème ? Cela ne fera que vous donner une mauvaise réputation et les managers ne comprendront pas pourquoi vous êtes si mécontent. Modifier le code pendant votre temps libre ? Ce n'est pas bon non plus - vous ne pouvez pas prendre le risque d'introduire un bogue ?
L'écriture d'un bon code doit faire partie intégrante du processus de développement.
Vous avez le même dilemme ? Qu'avez-vous fait pour améliorer la situation ?
Mise à jour :
Le langage utilisé est le C++.
Un nouveau morceau de code est écrit sous une forme non contrôlée, en mettant l'accent sur la fonctionnalité. Aucune revue de code ou norme de codage ne l'affecte actuellement (si jamais elle l'a fait). Je veux changer cette situation, mais je ne sais pas comment.
Mise à jour 01
Disons que nous voulons effectuer uniquement un remaniement "syntaxique" sur une grande base de code. Par exemple, corriger l'indentation, renommer une variable (en utilisant les outils de refactoring bien sûr - pas à la main :))). Cela vaut-il la peine de le faire et d'introduire probablement quelques bogues ?