Newsgroup: it.comp.lang.c
Titolo: [semiOT]Coding style

L'argomento non e' completamente pertinente ma in parte credo lo sia.
Ultimamente ho letto svariati manuali che trattavano lo stile del
codice e mi sono ritrovato con manuali che dicevano "fai cosi' xxx" ed
altri che dicevano "non fare xxx".
Adesso volevo farmi un'idea di come qui sul NG indentiate (tipo
dimensione del tab, parentesi sopra sotto a destra, etc..., convenzione
sui nomi, etc, etc, ect)
Io ad esempio per il C uso
* tab 8
* void funzione()
  {
          x = func(k);
          if (x != 0) {
                  ......;
          }
          switch (x) {
                  case....
                          f();
                          break;
                  case....
                          g();
                          break;
                  default...
                          d();
          }
  }
* int main(int argc, char *argv[])
  {
          funzione(...);
          return 0;
  }
* nomi
  sono sempre indeciso tra: provaNome, prova_nome, o ProvaNome

   sono sempre indeciso tra: provaNome, prova_nome, o ProvaNome
A me non piace molto usare le maiuscole e minuscole, in C.
In Delphi mi comporterei diversamente.  Ho pensato spesso a 
possibili convenzioni, tra cui anche la notazione ungherese, ma 
alla fine non mi garba nessuna.  Tra le tre proposte, però, 
preferisco prova_nome, anche se non mi piace molto usare gli 
underscore, perché riducono la leggibilità del codice.

Io prima usavo un tab a 4 ma mi sembrava che il codice in alcune parti
fosse troppo "schiacciato" a sinistra.
Perche' invece che gli spazi non imposti un tab a 3? Forse per
abitudine ormai sarai abituato a premere "incondizionatamente" 3 spazi
ma il tab potrebbe "velocizzarti" un po' la stesura del codice (IMHO)
Su una rivista di qualche tempo fa ho letto che la notazione ungherese,
da quando il tizio che l'ha inventata non lavora piu' per la MS, crea
"errore" con VS7 (la rivista dovrebbe essere DEV del 01/2002)
Quindi per i nomi come fai? Usi l'underscore?

 "errore" con VS7 (la rivista dovrebbe essere DEV del 01/2002)
L'ha inventata Charles Simonyi e non so a cosa ti riferisca con 
"crea errore".  In ogni caso è solo un modo per avere a mente il 
tipo di variabile e in molti contesti questo viene ritenuto 
assolutamente inutile.  Ci sono linguaggi (vedi Python) in cui non 
avrebbe molto senso.

Io uso i tab da 4 caratteri, anche se sto meditando di passare
a 3 spazi. La ragione principale e` che cerco sempre di restare sotto
gli 80 caratteri per riga (anche visivamente) e i tab da 4 molto spesso
spostano troppo a destra.
Per il resto, le funzioni le faccio cosi
static struct pippo *
nome_mia_funzione (int a, int b, char c)
{
     /* codice */
}
seguendo (mi pare) la convenzione GNU. Cicli e if li metto cosi`
if ( x == y ) {
     for ( i = 0; i < n; i++ ) {
        /* codice */
     }
     /* codice */
}
omettendo le parentesi se c'e` una sola istruzione. Da notare gli spazi
tra le parentesi dell'if e del for e il contenuto delle condizioni, spazi
che non metto quando ho le parentesi nelle espressioni:
(a + b) / (c + d)
Per i nomi, tendo ad usare la notazione con l'underscore anche se a volte,
per i nomi brevi di variabili locali/parametri, ometto l'underscore e
scrivo tutto minuscolo:
char * tmpbuf;
In realta` sui nomi ultimamente sono un po' indeciso... credo che
sperimentero` altre soluzioni.
Saluti,
Marco
-- 
To email me, remove the no_ and _spam from my address.

int rc, sock, request;
Per inserire dei commenti, anche se a volte il nome dovrebbe gia'
essere autodescrittivo, non sarebbe meglio scrivere
int rc;
int sock;
int request;
Leggendo un po' di articoli (
http://www.google.it/search?hl=it&q=%22coding+style%22&meta=
 ) ho visto
che *sarebbe* sempre
meglio indentare usando i tab, mentre vedo che si tende invece ad usare
gli spazi (almeno da quello che ho letto qui)

 meglio indentare usando i tab
?
Chi l'ha detto ?

pantransit.reptiles.org/prog/CodingStyle.html
http://www.linuxjournal.com/article/5780
http://developer.gnome.org/doc/guides/programming-guidelines/code-style.html
Questi sono alcuni degli articoli che ho letto, ma ovviamente lo stile
e' anche un po' personale (anche se credo sia meglio non lo sia troppo
se si lavora insieme ad altre persone)
PS:Ho ritrovato la rivista che diceva che la notazione ungherese dava
errore in fase di compilazione in .NET: "Computer Programming #119
dic-2002". Io non ho pero' mai provato.