Lo más importante aquí es que te mantengas constante. Si está incorporando el código de otras personas en su proyecto, quédese con el método que esté usando. Si planea contribuir con este código para, por ejemplo, un proyecto de software de código abierto en el futuro, intente cumplir sus convenciones de codificación. Si está escribiendo todo su código desde cero, le diría que siga las convenciones que está acostumbrado a usar. Esto te ayudará especialmente cuando regreses a tu código más tarde y trates de comprender lo que escribiste.
En cuanto a las especificaciones de acceso de estructura/clase, normalmente verá miembros públicos primero en la lista, seguidos por protegidos y luego privados (para aumentar el control de acceso). Esto se hace principalmente por razones de legibilidad. Cuando otras personas usan su código, serán estos miembros públicos con los que interactuarán, por lo que colocarlos en la parte superior de la declaración los hace más fáciles de encontrar. Ordenar miembros de esta manera mantiene la mayor probabilidad de que se utilice la información más cercana a la cima. No veo el friend
usado con demasiada frecuencia, por lo que no recuerdo ningún patrón en cuanto a su uso. typedef
por lo general aparece en la parte superior, de modo que cuando se mira el resto de la clase, el lector ya conoce sus tipos personalizados (también por razones de legibilidad, typedef
s suelen agruparse y no se intercalan con las declaraciones de los miembros).
Hay una serie de convenciones de codificación existentes que se utilizan comúnmente, y lo único que tienen en común es un estándar. Independientemente del sistema con el que vaya, incluso si lo define usted mismo, es útil si tiene un documento (o una página de código de ejemplo) que describa la convención de codificación. La consistencia mejora la legibilidad, especialmente cuando revisa código anterior en algún momento en el futuro.
Aquí hay un par convenciones de codificación que tal vez le dará algunas ideas:
Solo quería agregar, lo marcaría como wiki comunitario y subjetivo. –
Un duplicado de: http://stackoverflow.com/questions/1776291/function-names-in-c-capitalize-or-not incluso si el título es un poco diferente. –
Muy probablemente un duplicado de: http://stackoverflow.com/search?q=c%2B%2B+convention Hay toneladas de estos subprocesos. –