Programmare con stile (3)

misc39.jpg

Programmare con stile è una filosofia di vita, una scelta che permette di organizzare in maniera oculata il proprio codice e renderlo leggibile anche ad altri utenti. Oggi analizziamo alcune buone regole per dare nomi a variabili e per sviluppare funzioni eleganti.

Capitolo 4: scegliere il nome

Il C è un linguaggio Spartano, e così dovrebbe essere il tuo modo di dare i nomi. A differenza dei programmatori Modula-2 e Pascal, i programmatori C non usano nomi affascinanti tipo “ThisVariableIsATemporaryCounter”. Un programmatore C chiamerebbe questa variabile “tmp”, che è molto più facile da scrivere, ma molto più difficile da comprendere.

TUTTAVIA, mentre i nomi misti con maiuscole e minuscole non sono visti di buon occhio, dare nomi descrittivi alle variabili globali è un dovere. Chiamare una funzione globale “foo” è un grave errore.

Le variabili GLOBALI (da usare solamente se ne hai REALMENTE bisogno) devono avere dei nomi descrittivi, così come le funzioni globali. Se hai una funzione che conta il numero di utenti attivi, dovresti chiamarla “count_active_users()”, o qualcosa di simile, ma non NON dovresti chiamarla “cntusr()”.

Integrare il tipo di una funzione all’interno del suo nome (la cosidetta notazione Ungherese) è un danno al cervello – il compilatore conosce sempre e comunque i tipi e può controllarli, ciò serve solamente a confondere il programmatore. Non meravigliarti se MicroSoft fa programmi pieni di bug.

I nomi per le variabili LOCALI devono essere corti e adeguati. Se hai qualche intero utilizzato per contare all’interno di un loop, dovrebbe essere probabilmente chiamato “i”. Chiamarlo “loop_counter” non è produttivo, se non c’è nessuna possibilità che esso venga confuso. Similmente con “tmp” può essere chiamata qualsiasi tipo di variabile che è usata per mantenere un valore temporaneo.

Se hai paura di mischiare i nomi delle tue variabili locali, hai un altro problema, che è chiamato “sindrome dello squilibrio ormonale nello sviluppo di funzioni”.
Vedi il prossimo capitolo.

Capitolo 5: scrivere funzioni

Le funzioni dovrebbero essere corte e belle, e fare una cosa sola. Dovrebbero essere contenute in una o due schermate di testo (la dimensione ISO/ANSI dello schermo è 80×24, così come tutti noi la conosciamo), svolgere un solo ruolo e farlo bene.

La massima lunghezza di una funzione è inversamente proporzionale alla complessità e alla profondità dei livelli di tale funzione. Quindi, se hai una funzione concettualmente semplice che ha solamente una lunga (ma semplice) lista di “case”, dove devi fare varie piccole cose per ognuno dei differenti casi, è giusto avere una funzione più lunga.

Tuttavia, se hai una funzione complessa e hai il sospetto che uno studente poco dotato del primo anno delle scuole superiori potrebbe non capire cosa faccia la funzione, devi essere ben attento a seguire i limiti massimi consentiti. Usa funzioni ausiliari con nomi descrittivi (puoi chiedere al compilatore di includerele come in-line se ritieni possano essere procedure critiche per le prestazioni, e lui probabilmente farà un lavoro migliore di quello che avresti fatto).

Un’altra particolarità delle funzioni è il numero delle variabili locali. Non dovrebbe superare 5-10, o stai facendo qualcosa di sbagliato. Ripensa la funzione, e dividila in pezzi più piccoli. Il cervello umano, generalmente, può tenere traccia di 7 differenti cose, basta qualcosa in più e va in confusione. Anche se sei una persona brillante, probabilmente ti piacerebbe ricordare cosa hai fatto durante le due scorse settimane.

Questa puntata “filosofica” è terminata, nella prossima vedremo come commentare il codice e come utilizzare tool per la formattazione automatica del codice.

 

Parte 2 | Parte 4

8 pensieri su “Programmare con stile (3)

  1. Ah! ho capito chi sei.. ho usato liberopop e freepop per diverso tempo quando libero era la posta di riferimento per molti e bloccarono l’accesso al di fuori del web. Doppio grazie!

  2. Pingback: Top Posts « WordPress.com

  3. i nomi misti di maiuscole e minuscole non sono visti di buon occhio? Hm… io ho sempre sentito dire che per uan funzione la prima parola tutta minuscola, ogni aprola seguente con iniziale maiuscola.. e per le classi lo stesso solo con iniziale Maiuscola pure alal prima parola.. mah..

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...