However, there are many different tools and IDEs that will format to whatever standard the programmer prefers.
Buona fortuna con quello. La mia esperienza, ci sono un piccolo numero di strumenti (zero!) Che possono riformattare correttamente il codice dal formato X al formato Y. Ci sono troppe cose che si intromettono. Schede e spazi, istruzioni multilinea, ecc. Basta dare un'occhiata all'implementazione di GNU dei file di libreria standard C ++. Quello che puoi fare è fare in modo che il tuo IDE faccia sempre spazi e non tabulazioni e non preoccuparti di riformattare codice estraneo. Ora il tuo codice ha l'aspetto che preferisci e il codice estraneo è simile al modo in cui l'autore originale lo ha scritto.
Uno stile di indentazione specifico è l'ultima cosa che uno standard di codifica dovrebbe specificare. È quasi impossibile iniziare una guerra religiosa di programmazione. IMO, uno standard di codifica dovrebbe specificare una serie ragionevole di stili di indentazione accettabili, ma lasciare le specifiche agli autori di un pacchetto. Lo stile di indentazione è, o dovrebbe essere, una piccola parte di uno standard di codifica. Regola numero zero degli standard di codifica: non preoccuparti delle piccole cose. Lo stile di indentazione è una cosa piccola.
Cose più grandi:
- Come faccio a nominare le cose?
- Alcune parti della lingua sono off limits?
- Il codice deve essere compilato pulito e con quali impostazioni del compilatore?
- Il codice deve superare determinate metriche?
- Che tipo di test è necessario?
- Che tipo di documentazione è necessaria, sia nel codice (commenti) che altrove?
- Più importante, come faccio a ottenere una deroga allo standard?
Addendum
Forse ancora più importante è ciò che non inserire in uno standard di codifica. Argomenti come la scrittura dei requisiti non appartengono agli standard di codifica. I dettagli sul test non appartengono, neanche. Un progetto non dovrebbe utilizzare gli standard di codifica come standard per il piano di gestione del progetto, il piano di gestione dei test, il piano di verifica e convalida, ecc. L'obiettivo degli standard di codifica è migliorare la sicurezza del codice, la qualità, la comprensibilità, la manutenibilità, e altre "ilità". Ci sono molti modi per garantire che ciò non accada. Solo alcuni: rendere gli standard un libro complesso come le leggi fiscali di alcuni paesi, incitando alla programmazione di guerre religiose, con cattive convenzioni sui nomi.
Gli standard di codifica possono avere conseguenze indesiderate. Esempio: un pazzo di un ingegnere di progetto interpreterà la "regola dei numeri magici" per indicare che if (index == 0) {...}
e for (ii = 0; ii < 3; ++ii) {...}
devono essere modificati in if (ZERO == index) {}
e for (ii = ZERO; ii < NUMBER_OF_DIMENSIONS_IN_THE_UNIVERSE; ++ii) {...}
Non ridere. L'ho visto accadere. Oggigiorno, quando scrivo uno standard di codifica, è una "non guida ai numeri magici" piuttosto che una regola per contrastare questo tipo di follia.
Lo standard di codifica non è la difesa numero uno contro il cattivo stile di programmazione / pratiche di codifica pericolose. La recensione del codice è. Nonostante molti anni di automazione, non c'è ancora niente di meglio che avere un insieme di occhi umani in qualche modo soggettivi e giudicare un pezzo di codice.