Например, я иногда использую суффикс «Set», например:
ClassA
{
public:
ClassA(int xSet, int ySet):
x(xSet),
y(ySet)
{
;
}
private:
int x, y;
};
Итак, есть ли лучший способ написать xSet и ySet?
Ну, очевидный ответ состоит в том, чтобы назвать параметры для того, что они
являются: initialX
а также initialY
(или в сеттерах, newX
а также
newY
). Следуя этой логике, переменные-члены должны
вероятно быть currentX
а также currentY
— обычное правило
что имена переменных должны быть квалифицированными существительными.
Что все хорошо в теории. На практике кажется, что
выше может быть излишним (или слишком строгое применение
теория). По крайней мере, где бы я ни работал, там было
соглашение о наименовании членов, так что можно сразу
посмотреть, является ли имя членом или нет. В идеале это не должно быть
необходимо, но практически мы не работаем в идеальном мире.
Два самых распространенных соглашения, которые я видел: m_
или же my
как
префиксы для имен членов (с s_
или же our
для статики
члены). Другие распространенные соглашения (с использованием подчеркивания
как префикс или суффикс) следует избегать, потому что ведущий и
конечные подчеркивания не очень заметны и делают код трудным
читать. (Ведущие подчеркивания также, как правило, используются для очень
специальные символы в реализации, и должны быть особенно
избегать.)
Иногда люди предпочитают использовать специальные суффиксы / префиксы для элементов данных, чтобы отличать их от других переменных / параметров. Популярные соглашения об именах:
1) префикс m_ (например, m_x);
2) _ суффикс (например, x_);
Я лично предпочитаю x_, потому что это меньше печатать.
Каждый проект / команда / организация следует своим собственным правилам кодирования. Если вы ищете что-то для себя или своей команды, поиск в Google по «Руководству по кодированию на C / C ++» должен дать вам несколько полезных ссылок для начала.
Где я работаю, мы используем подчеркивание (_) в качестве суффикса данных членов класса. Аргументы для конструкторов имеют одинаковые имена без подчеркивания.