Qual è il codice più assurdo che tu abbia mai visto?
Una volta lavoravo per una piccola azienda di software che aveva del codice per determinare le tariffe delle assicurazioni sulla casa e sull'auto in base a tutte le informazioni fornite dal richiedente. Il codice era stato scritto da qualcuno che aveva imparato da solo abbastanza programmazione C per andare avanti, ed era il peggior codice che avessi mai visto.
Tutte le variabili erano solo pochi caratteri, e quasi tutte erano variabili globali. Il "programmatore" non si era preoccupato di imparare la libreria standard C e scriveva quasi tutto il codice necessario da solo. Questo includeva la sua versione personale di memcpy(). Quando il suo codice C divenne troppo lungo per stare in un solo file, lo divise in più parti, ma poiché non capiva come fare riferimento a funzioni da un altro file, aveva semplicemente una copia della sua memcpy() in ogni file. Si è scoperto che una di esse non corrispondeva alle altre, con un diverso ordine dei parametri. Questo rendeva difficile la lettura del codice perché bisognava controllare *quale* versione di memcpy veniva usata.
La parte peggiore erano i goto. His code was about 200,000 lines of twisted C code which included over 40,000 goto’s, many of them like:
- if (c == 5) goto x123
- goto x456
- x123:
Apparently he hadn’t learned about “not equal” when he learned C.
After writing this mess the programmer moved to New Zealand and work from remote. Il proprietario dell'azienda ha pensato che avesse camminato sull'acqua e l'ha reso parte dell'azienda, il che è un bene perché se mai se ne fosse andato *nessuno* sarebbe stato in grado di mantenere il suo codice.