Per quello che può valere, la convenzione che uso di solito è:
- indentazione stile ANSI con quattro spazi (no tabulazioni);
- nomi di classi, namespace, metodi, parametri di funzione, campi pubblici e funzioni "sciolte" in PascalCase;
- nomi di campi e strutture private in camelCase.
L'idea di base è che la roba "pubblica" sia in PascalCase, la roba "privata" in camelCase. Per cui:
codice:namespace MioNamespace { void UnaFunzione(int PrimoArgomento, char * SecondoArgomento); class UnaClasse { private: // Campi privati int campoIntero; int campoDouble; public: // Interfaccia // Costruttore UnaClasse(int CampoIntero, double CampoDouble) { SetCampoIntero(CampoIntero); SetCampoDouble(CampoDouble); } // Getters/setters // campoIntero int GetCampoIntero() { return campoIntero; } void SetCampoIntero(int CampoIntero); { validaCampoIntero(CampoIntero); campoIntero=CampoIntero; } // campoDouble double GetCampoDouble() { return campoDouble; } void SetCampoDouble(double CampoDouble) { campoDouble=CampoDouble; } private: // Metodo utilizzato internamente per validare campoIntero void validaCampoIntero(int CampoIntero) { if(CampoIntero==0) throw std::invalid_argument("CampoIntero non può essere 0.") } }; }