классе с++? Лучше по-умолчанию без префикса и прибегать к нему только если есть конфликт имен, например в конструкторе? Или лучше по-умолчанию добавлять такой префикс? Понятие что лучше конечно же относительно и это скорее вкусовщина
Чаще используют префикс m_ Некоторые предпочитают суффикс _
Ой, написал префикс, хотя имел в виду конечно суффикс _. Буквенные префиксы (m_) как по мне выглядят сейчас дремуче, раньше когда не было хорошей подсветки в IDE было полезно. А вопрос ещё и про консистентность, будет ли норм если в классе два приватных поля, один с суффиксом, другой без? Как по мне не очень, но и без всяких суффиксов выглядит код чище. Какие может ещё приняты способы избежания variable shadowing? Например в методе параметр объявлять с префиксом new_, при этом приватные поля без свяких суффиксов. Хотя при этом можно завести созвучные методы например геттер, и тогда придётся все равно в имя приватного поля добавлять суффикс. В python удобно это решается через self (он же this), хотя в c++ так не делают
Префиксы - вопрос вкусов, а на подсветку однозначно надеяться не стоит
Вот это, конечно, интересные тезисы про дремучесть...
Если в классе два поля с одинаковыми именами, отличающиеся суффиксами, автора следует убить
Не хотел никого обидеть и это конечно же вкусовщина. Свежих проектов на с++, где применяется венгерская нотация я что-то совсем не встречал, если покажите буду очень благодарен, обязательно ознакомлюсь
"Хотя в c++ так не делают". Кто не делает? В питоне self передаётся явно, в плюсах this неявно. Если ты хочешь писать this->field вместо m_field - это твоё право. Правда, зачем...
За венгерскую нотацию тоже без суда и следствия
Венгерская? Какое она отношение к m_ имеет?)
Из того же MS происходит :)
Ну так по сути m_ это и есть венгерская нотация. m_ - member
Понятно, что так можно делать, но так не принято делать в c++ по своим причинам.
По каким нашим причинам?
Раньше читал про это, попробую еще раз поискать почему так
Ответ прост: потому что m_ быстрее в 3 раза
а в чем проблема просто префикса _
Ну по сути да
Вкусовщина, но я предпочитаю m_, ибо так проще отделить переменную без префикса
Мне суффикс больше нравится
Предлагаю почитать исходники rpclib. Лично мне тяжело
Зависит с согласий code style в данной организации. Я предпочитаю не использовать никаких суффиксов префиксов и прочей ерунды нигде, т.к. это засоряет текст. Да и еще при рефакторинге придется везде это менять. Главное назвать переменную или поле удачным коротким словом, чтобы оно было достаточно понятным, а при развитии кода не пришлось и ее переименовывать. Всякие префиксы обычно делали для того чтобы отыскать при вводе текста название переменной, но не вспоминали. А так m_ и т.п. префиксы помогали вывести их все. Но это сомнительное удобство - проблема памяти и IDE переносится на текст программы.
Обсуждают сегодня