Guida di stile per C ++ [chiuso]


29

In questo momento sto usando Google C ++ Style Guide nel mio codice C ++ e ne sono rimasto abbastanza soddisfatto.

Recentemente mi è stato detto che questa guida è pessima: è utilizzata internamente da Google (lo sapevo), è obsoleta e promuove alcune pratiche pessime. Quindi voglio usare un altro stile di codifica.

Quali sono le guide di stile C ++ valide e abbastanza usate? Scrivo codice sia per gcc che per Visual Studio e utilizzo molte delle funzionalità di C ++ 11.

Ciò che mi è piaciuto molto della Guida allo stile di Google C ++ è stato il rientro, lo spazio bianco e le convenzioni di denominazione (in particolare denominazione di tutte le classi, i tipi - inclusi typedef, alias di tipo e alias di modello - con la prima lettera maiuscola).

So che ogni risposta è soggettiva (spero che questo sia ok su questo sito) e apprezzerei qualsiasi opinione, ma sono interessato a quali guide vengono utilizzate in questi giorni.


1
Puoi sempre usare qualunque stile ti piaccia, quindi riformattarlo nello stile preferito quando devi condividerlo. Ecco un formattatore di stile che automatizza questo astyle.sourceforge.net
Reactgular

7
Questa domanda ha il potenziale per risposte basate sull'opinione. Invece di chiuderlo per questo motivo, incoraggerei i rispondenti a concentrarsi su fatti, come usi noti, raccomandazioni delle autorità, studi comparativi e simili.
Andy256,

@ andy256 Non avrei potuto dirlo meglio.
Bolov,

7
Chi ti ha detto che lo stile di Google era cattivo e perché la loro opinione è importante per te?
Reactgular

@MathewFoscarini c'è stata una discussione abbastanza recente qui, anche se non era troppo approfondita: chat.stackoverflow.com/rooms/10/conversation/… (ma poi, approfondirla è come passare attraverso l'FQA )
Cubbi il

Risposte:


15

È possibile utilizzare le linee guida di questo libro per uso generale:

http://www.amazon.com/Coding-Standards-Rules-Guidelines-Practices/dp/0321113586

da Herb Sutter e Andrei Alexandrescu. Tuttavia, non tiene conto del C ++ 11, ma penso che ci sarà una nuova edizione.

Ma non risponderà sul numero di spazio anziché sulle schede o sul tipo di notazione esoterica che desideri applicare. Ma queste non sono la cosa più importante, il più delle volte solo la coerenza è la chiave.



8

Le critiche alla guida di stile C ++ di Google (e sono d'accordo che alcune sono giustificate) non riguardano le convenzioni di denominazione o lo stile di rientro di Google, ma piuttosto alcune delle loro altre regole e politiche. Le convenzioni di rientro / formattazione e denominazione sono entrambe una questione di gusti e sono terreno fertile per infinite guerre di religione programmatore, ma in C ++ dove a differenza di C # non esiste uno standard universale l'unica linea guida davvero importante è la coerenza. Per un nuovo progetto, scegli una convenzione di denominazione e lo stile di rientro che ti piace e usalo in modo coerente. Per un progetto esistente, attenersi alla convenzione già in uso. La regola 0 negli standard di codifica C ++ è "Non sudare le piccole cose". in cui sostengono che le convenzioni di denominazione e lo stile di rientro non sono così importanti finché

Un grande impulso alla produttività per me è stato l'automazione del rientro / formattazione utilizzando il formato clang . Dopo aver stabilito alcune regole di rientro e formattazione, consiglio vivamente di impostare un file di configurazione in formato .clang personalizzato e di non doversi più preoccupare di questo :-)

Clang-format è uno strumento autonomo e non richiede l'utilizzo di clang come compilatore. C'è anche un plugin ufficiale disponibile per Visual Studio.


6

Come ha scritto @ user113896 in precedenza, Bjarne Strostrup ci ha fornito molte indicazioni sullo stile. Uno dei suoi migliori risultati è il libro in stile Coding JSF-C ++ . Attenzione, non è per il normale c ++, più per l'uso incorporato, ma mostra come le cose dovrebbero essere fatte per essere chiare e funzionali. Ovviamente - Non devi prendere tutto in considerazione - è una guida, non un libro degli ordini :).


2

Se non hai letto la programmazione e i principi di Bjarne Stroustrup ti consiglio vivamente di leggerlo perché puoi imparare molto dal creatore della lingua. Ho visto e letto molto dall'autore del C ++ e posso dire che ha questa fissazione per lo stile e dice sempre alla gente di scrivere un codice bello e bello che secondo lui è più facile da eseguire il debug e la lettura. Credo che sia il miglior tutor e la migliore guida per scrivere codice C ++ elegante e bello.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.