Я избегаю подчеркивания (избегать, значит никогда не использую) в качестве первого символа любого идентификатора. Я знаю, что это излишне, но оно того стоит.
Прочитайте это:
Каковы правила использования подчеркивания в идентификаторе C ++?
Хотя это и не правило, я ограничиваю использование подчеркивания и предпочитаю использовать верблюжий регистр, чтобы мои переменные читались. Но это всего лишь личное предпочтение, и я не против читать код, который его использует.
Кроме того, я никогда не называю параметры такими же, как мои переменные-члены. Компилятор не поможет вам уловить ошибки, которые это может сгенерировать (и это все о том, как заставить компилятор выполнять реальную работу, чтобы вы могли выполнять выразительную работу, которую не может выполнить компилятор).
int X::setWork(int work)
{
this->work = work; // OK. But more Java like.
work = work; // Compiler won't see that problem.
}
int X::setWork(int newWork)
{
work = newWork; // A bit harder to get wrong.
}