Piccolo vademecum per il programmatore
Published on 08/22,2008
Regole da seguire per scrivere codice in C
- Appena apri un file (sopratutto non tuo) imposta shiftwidth, tabstop ed eventualmente expandtab in maniera adeguata al tuo stile. Eventualmente set list ti può far capire che impostazioni sono state usate.
- Il preprocessore ti ha fatto conoscere # e ## che sono tue amiche e ci sanno fare.
- Ricordati che con -llibrary dici al linker che al programma serve la libreria library e con -L eventualmente dove trovarla. Un controllo con ldd non fa mai male.
- Commenta il codice
- Commenta il codice
- Se hai creato una funzione con più di due blocchi distinti mi sa che ti tocca riscriverla.
- Ricordati di nascondere con static una funzione al mondo esterno.
- Non sforare le 80 colonne.
- Sempre sia lodato ulimit -c unlimited.
- Quando migliori il codice assicurati di non peggiorarlo.
- I Makefile sono una figata
- Se il tuo programma prevede di scrivere su file usa full(4) per provare cosa succede nel caso si esaurisca lo spazio su disco (tu ovviamente credevi di aver pensato a tutto!!!).
- Le mailing list sono tue amiche (magari leggile tramite thunderbird che ha un eccellente sezione sulla iscrizione ai news groups di gmane.org).
- Se desideri open(2) ma vim ti apre open(1) ricordati di premere '2K'.
- If a macro contains more than one statement, use a do/while structure to enclose the
macro. (Don't forget to leave out the semicolon of the statement). gcc -dM -E - < /dev/nullpuò dirti quali sono le macro predefinite nel tuo compilatore preferito.- Puoi impostare un campo di una struct tramite per esempio
variabile_struct = (struct punto){ .x = 10.0 , .y = 14.89 }; secondo me è più leggibile e anche se cambi la definizione della struct non hai bisogno di cambiare l'ordine delle inizializzazioni (e il compilatore non ti avverte!!!). - Usa un regola esplicita nel makefile per gli header: file.o: header.h. Altrimenti nella ricompilazione può usare una struct che in realtà è stata ridefinita e il segfault diventa un mistero.
Linkografia
- C elements of style
- Annotated annotated C standard.
- Corso dell'università di Stanford.
08/22,2008, at 20:41
Visit qwerty
hey get back to work! - masturbating! - oh. cum on