Quelles sont les façons d’identifier une mauvaise conception de logiciel ?


Si vous ne savez pas ce que le logiciel essaie d'atteindre après plusieurs heures de lecture.

Ce n'est pas trop grave si vous savez quel est l'objectif final du logiciel. Vous pouvez lentement comprendre les composants d'implémentation sous-jacents en détail.


Sur un niveau plus technique et micro, je suppose que les 3 points suivants affectent la qualité du logiciel :

  • 1.) Utilisation de variables globales

C'est probablement la première chose que j'ai appris à ne pas faire lorsque j'apprends à coder. Cela a beaucoup de sens en fait. Imaginez que vous ayez 50 fonctions qui changent la valeur de la variable globale à tout moment. Imaginez que ces fonctions sont séparées dans différents fichiers, et sur différents réseaux. Le traçage de celles-ci est douloureux.

  • 2.) NE PAS encapsuler les changements

La prochaine chose que j'ai apprise en programmation est de toujours encapsuler les éléments que vous pensez pouvoir changer souvent. Cela constitue en fait la base de divers design patterns écrits par The gang of four

  • 3.) Code obfusqué

Ce sont des codes qui sont tout simplement confus à lire. Voici'une liste d'exemples de mauvais code. L'intention de l'auteur n'est'pas claire du tout, des fautes d'orthographe et le fait de faire trop de choses en même temps.

Imaginez avoir une fonction:

setUserName()
{
//Authenticate User
//Parse User Input
//Update DB
//Redirect to user home page
}

On pourrait aussi bien la nommer :

authenticateAndParseUserAndUpdateDBWithRedirection()
{
// faire des trucs....
}