Как правило, используйте язык реальной проблемы, которую вы пытаетесь решить. Ваш код документирует себя, когда вы используете хорошие описательные идентификаторы, которые имеют смысл для внешнего мира.
Что касается синтаксиса, выберите соглашение, которое читается, передает некоторую информацию об идентификаторе, но не блокирует вас в некоторой реализации. Сделайте его простым и легким для запоминания, чтобы ваши кодировщики могли тратить больше времени на кодирование и меньше придерживаться сложных синтаксических требований. Я нахожу следующее довольно легким для глаз и достаточно информативным:
- Определения класса и метода - сначала
буква заглавная с первой буквы
составных слов также
* с заглавной буквы
- Экземпляры объектов и аргументы функций - сначала
строчная буква с первой буквой
составных слов с большой буквы
- Поля данных класса - завершающее подчеркивание, первый буквенный символ
строчная с первой буквой
объединенные слова с большой буквы
Боюсь, что он, вероятно, не пройдет 10-минутный тест, но если объяснение займет более 10 минут, это, вероятно, помешает реальной работе.
class FooProblem {
int fooData_;
public:
FooProblem(int fooData): fooData_(fooData){}
};