Konwencji jest mnóstwo. Niektóre rzeczy są wspólne dla większości, jak WIELKIE_LITERY dla makr i stałych; inne, jak zmienne, nazwy funkcji i klas bywają różne. Ale z najczęściej spotykanych to masz styl Javowy (NazwaKlasy, nazwaFunkcji, nazwaZmiennej), boosta/biblioteki standardowej (nazwa_klasy, nazwa_funkcji, nazwa_zmiennej), Google'a (NazwaKlasy, NazwaFunkcji, nazwa_zmiennej) i inne kombinacje :)
Inne rzeczy, jak np podkreślenia przed prywatnymi polami klas, to kwestia preferencji. Ogólnie tak długo jak jest spójnie w kodzie, to jest OK.
Patrz też np:
https://stackoverflow.com/questions/3706379/what-is-a-good-naming-convention-for-vars-methods-etc-in-c