La cosa più importante qui è rimanere coerenti. Se stai incorporando il codice di altre persone nel tuo progetto, segui il metodo che stavi utilizzando. Se stai pensando di contribuire con questo codice, per esempio, a un progetto software open source in futuro, cerca di rispettare le loro convenzioni di codifica. Se stai scrivendo tutto il tuo codice da zero, direi di attenermi alle convenzioni che sei abituato ad usare. Ciò sarà particolarmente utile quando torni al tuo codice in un secondo momento e provi a capire cosa hai scritto.
Per quanto riguarda le specifiche di accesso di struttura/classe, in genere vengono visualizzati i membri pubblici elencati per primi, seguiti da protetti e privati (in ordine di controllo dell'accesso crescente). Questo è fatto principalmente per ragioni di leggibilità. Quando altre persone usano il tuo codice, saranno questi membri pubblici con cui si interfacciano, quindi posizionarli in cima alla dichiarazione li rende più facili da trovare. Ordinare i membri in questo modo mantiene le informazioni più probabili da utilizzare più vicino alla cima. Non vedo il friend
usato troppo spesso, quindi non riesco a ricordare alcun motivo sul suo utilizzo. typedef
di solito viene visualizzato nella parte superiore in modo che quando si esamina il resto della classe, il lettore abbia già una comprensione dei tipi personalizzati (anche per ragioni di leggibilità, i gruppi typedef
sono in genere raggruppati insieme e non intervallati dalle dichiarazioni dei membri).
Ci sono un certo numero di convenzioni di codifica esistenti là fuori in uso comune, e l'unica cosa che hanno in comune è uno standard. Qualunque sia il sistema che utilizzi, anche se lo definisci tu stesso, è utile se hai un documento (o una pagina di codice di esempio) che delinea la convenzione di codifica. La coerenza migliora la leggibilità, specialmente quando in futuro si rivisita il codice precedente.
Qui ci sono un paio di codifica convenzioni forse darvi alcune idee:
Volevo solo aggiungere, lo segnerei come wiki della comunità e soggettivo. –
Un duplicato di: http://stackoverflow.com/questions/1776291/function-names-in-c-capitalize-or-not anche se il titolo è un po 'diverso. –
Molto probabilmente un duplicato di: http://stackoverflow.com/search?q=c%2B%2B+convention Ci sono tonnellate di questi fili. –