Par exemple:Comment prévenir le "syndrome des gros doigts" en l'absence de req. prédécloration?
on rising edge (reset):
sync = defaultValue;
...
... various processing constructs ...
...
if (event == someEvent) // Back at the Batcave
// The vilianous Fat finger Syndrome
// strikes again!
synch = someEventProcessing()
...
... various processing constructs ...
...
someSyncProcessing(sync) // Foiled again!
toutes les occurences du varible "sync" aurait dû être orthographié "synchronisation" au lieu de "synch." Je lis même la ligne avec l'orthographe incorrecte et mon cerveau «tokenisé» c'est la signification symbolique.
J'ai regardé le code pendant quelques jours avant de trouver la faute de frappe. Comment empêchez-vous cela lorsque la langue ne génère aucune erreur? Il y avait un travail autour dans le code parce que quelqu'un ne pouvait pas trouver la source de la "magie noire" causant le comportement errant du programme. Cela a obscurci le problème encore plus. (Ce code était en fait paraphrasé à partir d'un programme verilog, mais il semble que cela puisse poser un problème dans n'importe quel langage autorisant ce type de problème.)
Qu'est-ce que vous essayez de montrer ici? –
@Andrew: que certains langages mal ne signalent pas les identifiants mal typés et continuent à la place avec des données aléatoires ou non initialisées comme si rien ne s'était passé. Vu en perl, fortran, javascript. –
@NoMoreZealots: Obtenez plus de globes oculaires. J'ai attrapé la faute de frappe immédiatement. –