Какой префикс вы используете для переменных-членов? - PullRequest
32 голосов
/ 21 сентября 2008

Несомненно, для понимания кода важно назначить переменным-членам префикс, чтобы их можно было легко отличить от «обычных» переменных.

Но какой префикс вы используете?

Я работал над проектами, в которых мы использовали m_ в качестве префикса, в других проектах мы использовали только подчеркивание (что мне лично не нравится, потому что только подчеркивание недостаточно демонстративно).

В другом проекте мы использовали форму длинного префикса, которая также включала тип переменной. Например, mul_ - это префикс переменной m типа u nsigned l ong.

Теперь дайте мне знать, какой префикс вы используете (и, пожалуйста, укажите причину).

РЕДАКТИРОВАТЬ: Большинство из вас, кажется, кодируют без специальных префиксов для переменных-членов! Это зависит от языка? Исходя из моего опыта, C ++ код имеет тенденцию использовать подчеркивание или m_ в качестве префикса для переменных-членов. А как насчет других языков?

Ответы [ 33 ]

0 голосов
/ 21 сентября 2008

Если действительно необходимо добавить префикс членских переменных, я бы определенно предпочел m_ только подчеркиванию. Я считаю, что подчеркивание само по себе снижает читабельность и может быть перепутано с зарезервированными словами C ++.

Однако я сомневаюсь, что переменные-члены нуждаются в каких-либо специальных обозначениях. Даже если игнорировать справку IDE, неясно, почему возникла бы путаница между тем, что является локальной переменной, а что переменной-членом.

0 голосов
/ 22 сентября 2008

В Java одно общее соглашение заключается в том, чтобы предвосхищать переменные-члены с помощью «my» иUseCamelCaseForTheRestOfTheVariableName.

0 голосов
/ 21 сентября 2008

Я склонен использовать m_ в C ++, но не прочь оставить его в Java или C #. И это зависит от стандарта кодирования. Для унаследованного кода, который имеет смесь подчеркивания и m_, я бы реорганизовал код в один стандарт (учитывая разумный размер кода)

...