Domanda

Quanto segue è stato proposto per un prossimo progetto C ++.

  • Standard di codifica C ++, di Sutter e Alexandrescu
  • Standard di codifica C ++ per veicoli aerei JSF
  • Gli elementi dello stile C ++
  • Effettiva C ++ 3rd Edition, di Scott Meyers

Ci sono altre scelte? Oppure l'elenco sopra quale dovrebbe essere usato in un progetto C ++?

Alcuni link correlati

È stato utile?

Soluzione

Penso davvero che non importa quale adotti, purché tutti lo seguano. A volte può essere difficile in quanto sembra che alcuni stili non siano in accordo con i compiti delle persone. Cioè si tratta di discutere se il prefisso di tutte le variabili membro con m_ sia carino oppure no.

Ho usato e modificato gli Geosoft da un po 'di tempo, questi sono per C ++ . Ce ne sono altri alla what-is-your-favorite-coding- elenco di controllo delle linee guida thread

Altri suggerimenti

Standard di codifica C ++: 101 regole, linee guida e migliori pratiche (C ++ Serie approfondita) di Herb Sutter e Andrei Alexandrescu.

Hmm, strana domanda. Basta scegliere lo standard con cui la maggior parte dei membri del team ha familiarità. Fai una specie di sondaggio per la tua squadra. Non sono sicuro di come SO possa aiutare qui :)

Prova questo, è quello che usa il centro di volo spaziale Goddard della NASA.

http://software.gsfc.nasa.gov/AssetsApproved /PA2.4.1.3.pdf

Ho scritto uno standard di codifica per un'importante azienda britannica ed ero molto consapevole di mettere le ragioni per cui ho selezionato determinate cose piuttosto che renderle un insieme di "Tu dovrai" pronunciamenti. (-:

Come uscita rapida, suggerirei di imporre:

  • Effective C ++ 3rd Edition di Scott Meyers ( Amazon link ) - se si puoi trovare una copia della prima edizione di questo libro e poi acquistarlo per la panoramica del design OO che è stato rimosso dalle edizioni successive. ) -:
  • libro Effective STL di Scott Meyer ( link Amazon ) - è necessario utilizzare STL per utilizzare C ++ in modo efficiente.
  • Codice completo 2 di Steve McConnell ( Amazon link ) - non C ++ specifico ma pieno di grandi approfondimenti.

Gli standard di codifica sono significativi solo se ti aiutano a scrivere codice. Quindi devono solo mantenere coerente il tuo codice (cioè se qualcuno mette m_ per i membri variabili e qualcuno no, può volerci più tempo per eseguire il grok del codice che se tutti usassero lo stesso stile).

È tutto ciò che (dovrebbero) fare, quindi raccogli il codice esistente e assicurati che i codici del tuo team siano dello stesso stile.

Mi piace pensarlo come cartoni animati. Se diventi un fumettista sui Simpson, devi disegnare gli occhi in modo ufficiale o tutto sembra pantaloni, ma se vai a Family Guy, devi disegnarli in modo diverso. In nessun caso è sbagliato.

Troppi standard riguardano restrizioni insignificanti, scritte da persone che non si codificano da sole (o si considerano troppo brave per attenersi a loro). Altri cercano di insegnarti come programmare. Né ha il suo posto in un buon livello, quelli ti rendono più semplice guardare un po 'di codice e capire cosa sta facendo.

ad es. i miei standard includono regole per la denominazione delle directory: avrai sempre il tuo codice in una directory chiamata con lo stesso nome del progetto, e tutti i binari andranno nel sottodirectory bin, con tutti i file di configurazione nello stesso posto, e un log delle modifiche, ecc. Tutti cose semplici, ma garantisco che non troverò mai un progetto chiamato qualcosa di diverso con i suoi binari nella directory principale dove non so quali modifiche sono state apportate. Cose semplici e facili che fanno la differenza.

Sono d'accordo con Harald Scheirich, è molto importante che il team sia d'accordo su quali dovrebbero essere le regole piuttosto che scegliere un set che è stato raccomandato dagli estranei.

La mia raccomandazione personale sarebbe quella di leggere Codice completo, 2a edizione di Steve McConnell che descrive (tra un intero lotto di altre cose utili) diversi standard di codifica comuni e offre commenti su ciascuno. Questo potrebbe aiutare il tuo team a stabilire i tuoi standard.

Gli standard di codifica C ++ del veicolo aereo JSF di Lockheed Martin sono una lettura interessante ma sono un po 'eccessivi a meno che tu non stia lavorando in campi in cui un bug può uccidere le persone. È ancora un esempio molto importante da un punto di vista etico informatico su un esempio di come programmare con sicurezza e correttezza la massima priorità.

Per la codifica C ++ per scopi generici, raccomanderei personalmente Standard di codifica C ++ di Herb Sutter. Sin dall'inizio, sottolinea ciò che non standardizzare (cose relative allo stile o alle preferenze piuttosto che alle pratiche che promuovono la sicurezza, la correttezza, l'efficienza). È anche tra le letture più facili nella tua lista che fornisce argomenti molto brevi ma concisi per ogni standard, rendendo facile mostrare ai tuoi colleghi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top