من خودم به شخصه از نوع اول برای نام گذاری متغیر ها استفاده می کنم و از نوغ دوم برای نامگذاری توابع.
برای نامگذاری ثابت ها و اطلاعات شمارشی و ماکرو ها هم از حروف بزرگ و کلمات را با زیر خط از هم جدا می کنم.
#define VALUE1 0
const int VALUE2 = 0;
enum class Color{RED,GREEN,BLUE};
class MyData{
public :
MyData(const int &data_value):data_value_(data_value){}
myFunc(){}
private:
int data_value_;
};