Какое соглашение об именах для идентификаторов просмотра?

Я считаю, что многие из нас беспокоились, назвав ID View. В отличие от механизма пакета, идентификаторы ресурсов в проекте используют одно общее пространство имен. Поэтому нам нужно выяснить, как назвать поля с одинаковой функциональностью, но в разных файлах макета.

Мой способ состоит в том, чтобы добавить существительное или глагол, что имя класса макета Acitvity, используемое перед оригинальным идентификатором, разделенное точкой. Например, идентификатор, первоначально названный "описание" в Activity, отображающем информацию о фильме, может стать "movie.details.description".

Есть ли лучшие идеи?

Ответ 1

Сначала я использовал ту же концепцию, но теперь я пытаюсь использовать более общие идентификаторы. В этом случае я бы просто назвал id description. Таким образом, вам не нужен идентификатор для каждого элемента и он может повторно использовать его, поскольку не имеет значения, какой макет вы ссылаетесь при вызове findViewById (R.id.description), который, как вы знаете, вы получаете элемент описания этого макета.

Конечно, вы должны знать, имеет ли макет вообще элемент описания. Это может быть недостатком.

Ответ 2

Интересный вопрос. Учитывая, что нет официального руководства по стилю, которое было выпущено Google (или сообществом, в котором я могу ошибаться, но я просто не нашел его в Google), тогда это может быть слегка субъективным. Вы должны использовать стиль, который позволяет вам и вашей команде комфортно.

Мое соглашение об именах следующее:

activityname_elementtype_explicitdescription_suffix

Например, кнопка Login, определенная внутри действия Home, может стать:

home_btn_login