Здесь http://source.android.com/source/code-style.html#follow-field-naming-conventions указано, что:
Имена полей
- Непубличные, нестатические имена полей начинаются с m.
- Имена статических полей начинаются с s.
- Другие поля начинаются со строчной буквы.
- Открытые статические конечные поля (константы) имеют значение ALL_CAPS_WITH_UNDERSCORES.
В нем также говорится, что:
Правила, приведенные ниже, являются не руководящими принципами или рекомендациями, а строгими правилами. Вы не можете игнорировать правила, перечисленные ниже, за исключением случаев, когда они утверждены для использования по необходимости.
Мне не нравится соглашение "m" перед частными или пакетными полями в классе. Я действительно нахожу это скучным ... Я имею в виду, что если мы попытаемся применить хороший дизайн, низкая связь классов подразумевает наличие нескольких открытых полей. на самом деле в моих программах обычно нет открытых полей, даже когда мне нужны некоторые, я использую методы получения и установки ...
Итак, почему я должен быть вынужден иметь почти все мои поля в программе с "m" перед ними? не было бы проще иметь несколько открытых полей, если они есть, с какой-то буквой "g" или что-то еще? или просто использовать сеттеры и геттеры, как предлагают бины?
это действительно делает мой код труднее читать ....
Кроме того, следуя этим рекомендациям, локальные временные переменные, используемые в методах, не имеют ограничений, поэтому их можно легко принять за публичные глобальные поля (также без ограничений) ... это также я считаю неправильным, поскольку это вероятно источник ошибок ...
Я понимаю, что есть способ отличить от полей, но частные / защищенные поля-члены наиболее часто используются в приложении, они не должны быть менее «читабельными».
Что ты думаешь? Должен ли я следовать рекомендациям?