История изменений
Исправление rumgot, (текущая версия) :
Это не костыль, а удобный стиль. Никаких коллизий не будет, если понимаешь механизм работы области видимости. Если ты в классе будешь использовать некоторое имя, совпадающее с именем глобальной переменной и с именем члена класса, то естественно по умолчанию будет использоваться член класса и никакой коллизии не будет. Или если в функции-члене объявлена локальная переменная с таким же именем, что и член, то по умолчанию будет использована она и никакой коллизии. С другой стороны ты всегда волен обратиться к переменным, которые по умолчанию скрыты. Суффиксы и префиксы нужны для само-документирования кода, когда тебе сразу ясно, что перед тобой член класса. С одной стороны с современными IDE и подсветкой переменных-членов, суффиксы и префиксы превратились просто в необязательный стиль, но с другой, иногда ведь код читаешь не только в IDE, а например в какой-нибудь документации или в мини руководстве в формате Markdown, где по подсветке ты не можешь сказать, член (member) это или нет и тогда уже эти элементы имени дают +5 к читаемости кода.
Исправление rumgot, :
Это не костыль, а удобный стиль. Никаких коллизий не будет, если понимаешь механизм работы области видимости. Если ты в классе будешь использовать некоторое имя, совпадающее с именем глобальной переменной и с именем члена класса, то естественно по умолчанию будет использоваться член класса и никакой коллизии не будет. Или если в функции-члене объявлена локальная переменная с таким же именем, что и член, то по умолчанию будет использована она и никакой коллизии. С другой стороны ты всегда волен обратиться к переменным, которые по умолчанию скрыты. Суффиксы и префиксы нужны для само-документирования кода, когда тебе сразу ясно, что перед тобой член класса. С одной стороны с современными IDE и подсветкой переменных-членов, суффиксы и префиксы превратились просто в необязательный стиль, но с другой, иногда ведь код читаешь не только в IDE, а например в какой-нибудь документации или в мини руководстве в формате Markdown, где по подсветке ты не можешь сказать, член (member) это или нет и тогда уже эти элементы имени дают +5 читаемости кода.
Исходная версия rumgot, :
Это не костыль, а удобный стиль. Никаких коллизий не будет, если понимаешь механизм работы области видимости. Если ты в классе будешь использовать некоторое имя, совпадающее с именем глобальной переменной и с именем члена класса, то естественно по умолчанию будет использоваться член класса и никакой коллизии не будет. Или если в функции-члене объявлена локальная переменная с таким же именем, что и член, то по умолчанию будет использована она и никакой коллизии. С другой стороны ты всегда волен обратиться к переменным, которые по умолчанию скрыты. Суффиксы и префиксы нужны для само-документирования кода, когда тебе сразу ясно, что перед тобой член класса. С одной стороны с современными IDE и подсветкой переменных-членов, суффиксы и префиксы превратились просто в необязательный стиль, но с другой, иногда ведь код читаешь не только в IDE, а например в какой-нибудь документации или в мини руководстве в формате Markdown, где по подсветке ты не можешь сказать, член (member) это или нет.