Re: [Soci SLIP] Da grande farò il programmatore

dipsie dipsie84 a gmail.com
Ven 22 Mar 2013 15:34:32 CET


Aggiungo anch'io un paio di consigli:

13. Scrivete codice sicuro, dove "sicuro" va inteso nel senso più ampio del
termine: controllate i valori di ritorno delle funzioni, le eccezioni, i
puntatori a null (e costrutti simili che utilizza il vostro linguaggio
preferito).
13.1 Corollario - Scrivete codice completo: se utilizzate un "if", inserite
l'"else" relativo, anche se non fa niente. Tornerà utile a chiunque leggerà
il codice un commento come:
if(mUser != null)
{ .... }
else //se mUser è null
    ; //non faccio nulla
La stessa cosa vale per gli "switch", il default case dovrebbe essere
sempre presente.

Sembra una perdita di tempo, ma in ottica di modifiche future eviterà
moltissimi errori (a me è capitato più di una volta di aggiungere un valore
ad uno switch e di incasinare il codice in un altro punto perché quel
valore non era gestito).

14. Siate coerenti: scegliete una politica di nomenclatura delle variabili
e seguitela in tutto il codice. Lo stesso vale per le unità di misura, per
l'uso delle parentesi, per l'indentazione del codice, per lo "stile" di
programmazione...
Più di una volta sono impazzito a cercare di capire un codice dove, ad
esempio, la variabile uscita indicava il valore dell'ingresso...


E, infine, la mia esperienza sul flame ottimizzazione :) (da sempre lavoro
sui microcontrollori dove l'ottimizzazione è una cosa importante)
0. il codice va ottimizzato solo alla fine: mediamente, anche con anni di
esperienza, all'inizio del progetto non si capisce esattamente quale sarà
il punto debole e si lavora per far funzionare meglio una parte che va già
benissimo
1. se il codice deve essere ottimizzato, abilitate le opzioni di
ottimizzazione del compilatore: sicuramente farà un lavoro migliore del
vostro ed impiegherà pochi secondi in più durante la compilazione del codice
2. se il codice deve essere ulteriormente ottimizzato, come già detto,
cambiate l'algoritmo

Alessandro


PS: per veri programmatori esperti (in C): http://www.ioccc.org/
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://mailman.pinerolo.linux.it/pipermail/soci/attachments/20130322/248f76e0/attachment.html


Maggiori informazioni sulla lista Soci