> C'est déjà pas si mal pour un logiciel qui est développé par des "bénévols" ...
Utiliser des variables statiques à tour de bras dans son code est une source d'ennuis permanente aussi bien pour les créateurs que pour ceux qui maintiennent après : une fonction "void f (void)" qui fait autre chose que printf "Hello World!\n"; a tendance à me hérisser le poil : je ne sais rien du flux des données dans cette fonction et je suis obligé de me "palucher" la lecture du code source d'une fonction dont je me moque certainement pour vérifier qu'elle n'a pas un p*tain d'effet de bord>:o(
Evidemment, ça vaut aussi pour les tordus qui passent des paramètres mais modifient aussi des variables globales>:oO
Bénévoles, peut-être (et je suis le premier à les remercier de s'être attelés à un problème loin d'être simple), mais codeurs gorets aussi :o)
> En tous cas c'est pas pire que la plupart des logiciels aux sources fermées.
Dans mon expérience de codeur et de mainteneur, j'ai vu de tout dans les codes sources propriétaires, du bon (meilleur qu'OpenSSH et de loin), du moyen, du mauvais et du pire.
De toutes façons, le pire code à lire en première approche est le code que quelqu'un d'autre a écrit. Il faut passer outre cette première approche pour entrer dans la logique du code (quand il y en a une) : c'est un boulot ingrat et délicat.
Par contre, je persiste et je signe : un code qui s'appuie sur l'utilisation de variables globales devient un cauchemar pour quelqu'un à un moment ou un autre !
P.S.
Parfois dans ma carrière professionnelle, on m'a justifié l'utilisation de variables globales par des raisons d'efficacité (accès mémoire plus rapide), mais souvent, le reste du code aurait mérité des optimisations qui compensaient largement la "perte de temps" du passage de paramètres (un pointeur, c'est 4 ou 8 octets, pas 512Ko).
[^] # Re: Qualité ?
Posté par AlV . En réponse à la dépêche Nouvelle version de OpenSSH. Évalué à 3.
Utiliser des variables statiques à tour de bras dans son code est une source d'ennuis permanente aussi bien pour les créateurs que pour ceux qui maintiennent après : une fonction "void f (void)" qui fait autre chose que printf "Hello World!\n"; a tendance à me hérisser le poil : je ne sais rien du flux des données dans cette fonction et je suis obligé de me "palucher" la lecture du code source d'une fonction dont je me moque certainement pour vérifier qu'elle n'a pas un p*tain d'effet de bord>:o(
Evidemment, ça vaut aussi pour les tordus qui passent des paramètres mais modifient aussi des variables globales>:oO
Bénévoles, peut-être (et je suis le premier à les remercier de s'être attelés à un problème loin d'être simple), mais codeurs gorets aussi :o)
> En tous cas c'est pas pire que la plupart des logiciels aux sources fermées.
Dans mon expérience de codeur et de mainteneur, j'ai vu de tout dans les codes sources propriétaires, du bon (meilleur qu'OpenSSH et de loin), du moyen, du mauvais et du pire.
De toutes façons, le pire code à lire en première approche est le code que quelqu'un d'autre a écrit. Il faut passer outre cette première approche pour entrer dans la logique du code (quand il y en a une) : c'est un boulot ingrat et délicat.
Par contre, je persiste et je signe : un code qui s'appuie sur l'utilisation de variables globales devient un cauchemar pour quelqu'un à un moment ou un autre !
P.S.
Parfois dans ma carrière professionnelle, on m'a justifié l'utilisation de variables globales par des raisons d'efficacité (accès mémoire plus rapide), mais souvent, le reste du code aurait mérité des optimisations qui compensaient largement la "perte de temps" du passage de paramètres (un pointeur, c'est 4 ou 8 octets, pas 512Ko).