CodeSOD : État statique Note

CodeSOD : État statique

Une revue de code C++ a révélé un schéma inquiétant impliquant des accesseurs (getters) et des mutateurs (setters). La méthode getField, censée être un simple accesseur, appelait de manière inattendue une fonction setGetField. Cette fonction setGetField utilisait un indicateur booléen pour déterminer s'il fallait définir ou obtenir une valeur. Pire encore, la valeur était stockée dans une variable statique au sein de setGetField. La variable statique signifiait que la valeur était partagée entre toutes les instances de la classe, créant effectivement un singleton. La réaction initiale du réviseur a été l'incrédulité, soupçonnant une plaisanterie. Cependant, la rencontre répétée de ce schéma a mené à la frustration et à des interrogations concernant la compétence des développeurs et les pratiques d'embauche. L'utilisation répétée de ce schéma erroné a mis en évidence de graves préoccupations concernant la qualité du code et la compréhension par les développeurs des principes de programmation de base. Le problème se concentre sur une encapsulation inappropriée et les conséquences imprévues de l'utilisation de variables statiques dans les méthodes de classe. La conception du code a entraîné un état partagé entre toutes les instances, violant les principes fondamentaux de la programmation orientée objet.