quale formattazione consigliate?

noi siamo appena passati 1.8.10, e con l'occasione abbiamo rivisto sia formatter.conf che preferences.txt

già che ci siamo chiediamo: quali sono le impostazioni più in voga?

e poi, risulta anche a voi che la ci sia qualcosa che non va nella dimensione delle font tra questa versione e le precedenti?

Noi per intanto abbiamo scovato questo
https://www.kernel.org/doc/html/v4.10/process/coding-style.html
Cosa ne pensate?

Credo che lo stile debba soddisfare al principio di rendere leggibile a colpo d'occhio un codice, sia ad altri, sia soprattutto a te stesso, dopo che sono passati un po' di mesi.

Quello che hai postato è un suggerimento valido, ovviamente. Personalmente ho visto che dobbiamo fare i conti con un riquadro dell'IDE che di default ha 80 caratteri per riga e di conseguenza ho adottato un'indentazione di 2 caratteri e una gestione delle parentesi graffe per risparmiare righe

statement {    //inizio blocco istruzioni
  istruzione 1
  istruzione 2
  . . .
  istruzione n
}    //fine blocco istruzioni

così ottengo che la graffa a inizio riga è SEMPRE la fine di un blocco e non la confondo con un inizio

Ciao,
P.

Personalmente preferisco la inizio graffa a capo, per averla nella stessa colonna della sua chiusura.

if (condition) 
{ do_this();
  do_that();
} else 
{  otherwise();
}

Poi anche x me 2 spazi per indentazione bastano.

Ci sono anche le linee guida del Barr Group, che in vari punti sono opposte alle abitudini/preferenze finora descritte :wink:

Per l'indentazione invece trovo solo due spazi davvero poco chiari su strutture lunghe decine di righe... tanto che sto sperimentalmente migrando agli otto :stuck_out_tongue: ...vedi codice di questo progetto che secondo me enfatizza più di tutto il distinguere chiaramente i blocchi a colpo d'occhio.

Dando per scontato che parliamo di convenzioni, visto che dal punto di vista della compilazione non cambia nulla, si tratta generalmente di gusto personale, di come uno si trova meglio nello scrivere e leggere il proprio codice. Questo implica quindi che in questa condizione si possa scegliere qualsiasi comvenzione, anche nessuna.

Il problema sorge quando il codice è condiviso tra più persone appartenenti ad un gruppo di lavoro o team di sviluppo, in tal caso ovviamente sarebbe opportuno adottare la stessa convenzione per facilitare il lavoro condiviso.

Per cui indentazione a 2, 3 o 4 spazi (più di 4 sono esagerati secondo me, peggio che mai 8 a meno che non si disponga di uno schermo ultra wide... :wink: ), con spazi o con tabulazioni, graffe a capo o in linea, sono tutti dettagli di una convenzione che, come detto, l'importante è che sia condivisa.

Nel nostro caso direi di mantenere quello che l'IDE fa quando si indenta automaticamente col Ctrl-T, è l'unico "standard" al quale tutti possono far riferimento, e che consiglierei di usare e far usare a tutti in questo forum.

Personalmente trovo la seguente formattazione fortemente illegibile, specie quando ci sono diverse nidificazioni, anche se e' quella del K&R.

statement {
** istruzione 1**
** istruzione 2**
** . . .**
** istruzione n**
**} **

Oltretutto la motivazione che da' il vantaggio di risparmiare righe e' insostenibile: poteva avere senso anni fa, quando si stampava tutto sui tabulati, ma e' evidente che quello che conta e' la leggibilita' del codice.

Io ho sempre usato la seguente formattazione, che evidenzia chiaramente l'inizio e la fine dei blocchi.

statement
{
** istruzione 1**
** istruzione 2**
** . . .**
** istruzione n**
**} **

Marco