... sono la base dello sviluppo...
Sono forse una delle cose piu importanti che voi possiate adoperare...

No, sul serio, non è uno scherzo.... non riesco a pensare a niente di piu serio di una corretta nomenclatura... tutto ciò di buono che possiamo fare o saper fare diventa inutilizzabile se non sappiamo dargli il giusto nome, corretto nel giusto contesto, e se non abbiamo il coraggio di cambiarlo (refactoring anyone?) nel caso diventi osboleto o scorretto.

Classi, variabili, metodi, proprietà, tutto il "mondo" dello sviluppo si disloca intorno a questo.. .eppure siamo nel 2007, molto è passato dai tempi della "niu economi" (new economy, per i non angolofoni :P)... eppure tutto continua uguale, ci sono ancora in giro masse di "consulenti" che convinti di poter servire a piene mani tazze di presunta conoscenza a tutti si mettono a scrivere un progetto ignorando, o peggio rigettando, le convenzioni di nomenclatura, di struttura e di qualsivoglia altro standard preso in considerazione dal Team....

Peggio, ignorano qualsiasi semplice regola di buon senso chiamando variabili con i nomi che giustamente sono sconsigliati dai tempi del Modula2: "p", "c", "l", "m", "k", "ciccio", "questo", "quello" "test", "temp".

Ho avuto un'esperienza insieme sconvolgente e divertente questo weekend cercando di rimettere in piedi un'applicativo gestito da uno di questi "tizi"... e fidatevi, quando alle 3 di notte vi trovate di fronte a (dopo 100 righe di codice in un metodo nel presentation layer, ovviamente)

if (p > l) { k = 0} else { return false; }
return true;

(testuali parole. Si, avete letto bene.. e si, esatto, _oltretutto_, k non viene mai usata... :P)
Potreste capire quanto lodare il dio dell'informatica per l'idea delle naming convention... oppure scoppiare a piangere e prendere il decimo caffè... com'è successo a me :P

Ma dai, vi immaginate se ognuno parlasse la sua lingua,  con i propri fonemi, e non ci fosse in giro niente per capire di che cosa si sta parlando? Ecco, esattamente quello che succede quando si mette mano ad un codice dove i metodi si chiamano "private void Doing()" o "private string parametro()" e dove nulla va come vorresti :(

Se leggendomi vi siete identificati o avete passato in produzione del codice con dentro almeno uno dei nomi che ho citato, per favore, PER FAVORE, fate un salto qui

http://msdn2.microsoft.com/en-us/library/xzf533w0(vs.71).aspx

Leggete TUTTO quello che c'è scritto, poi rileggetelo, poi andate a fare una passeggiata, cancellate tutti i vostri vecchi progetti, rileggete ancora una terza volta... e ricominciate una nuova vita :)

P.S.: Si,  ho passato una settimana _terrificante_ a causa di questo :P