Stiamo sviluppando software embedded per un prodotto automobilistico in ANSI-C in un grande team. Ieri, nella nostra normale revisione del codice, abbiamo avuto una discussione generale sullo stile del nostro codice. Abbiamo una linea guida di codifica (circa 30 pagine), che garantisce principalmente alcune pratiche richieste e inoltre tratta la notazione ungherese, il livello di indentazione, la strategia di nuova riga per i blocchi di codice ecc.
La discussione di ieri riguardava l'eventuale necessità di linee guida più dettagliate su come il codice è stato formattato. Dichiarazioni di esempio:
int int1,
int2 = 0;
short short1;
long_type_name_defined var1;
const * type var2;
type const* var3;
Un collega ha espresso il parere che ci dovrebbe essere una chiara linea guida su come allineare coerentemente le variabili (es .: spazi fino al tipo regolare più lungo), se ci dovrebbero essere spazi tra "*" e tipo / qualificatore, dove si trova il qualificatore, se usare o meno l'operatore ",", ecc. Cose che potrebbero essere in qualche modo dichiarate come una questione di gusto personale.
Pro:
- aumento della leggibilità
- meglio comprendere per "esterni" (che sono nuovi per il codice o che normalmente non ne fanno uso)
Contro:
- perché è in qualche modo una questione di gusti personali, ciò che aumenta la leggibilità per una persona, potrebbe ridurla per un'altra (?)
- potrebbe essere difficile definire chiaramente
- il set di regole di stile sarebbe stato ampliato molto
- molto lavoro per seguire sempre un ampio set di regole
La domanda principale è in qualche modo: Aiuta davvero avere una serie di regole molto specifica? Non siamo riusciti a trovare un chiaro consenso al riguardo. Una guida di stile dovrebbe aumentare la leggibilità / manutenibilità del codice, quindi ci sarà un ottimo rapporto tra dimensione del set di regole e "bellezza" del codice (?).
Mi piacerebbe avere le tue opinioni su dove sia questo optimum.