Правильные названия классов в Java [закрыт]

135
21 февраля 2019, 02:00

Всем привет. Страдаю от неумения правильно придумывать названия своим классам. От этого так же страдают и коллеги=)

Вот есть какой нибудь сборник правил как назвать правильно класс. Понятно что он должен раскрывать суть работы класса, но то как я понимаю его работу может отличаться от того как его работу понимает коллега. Это от части говорит что сам класс не правильно спроектирован но тем не менее.

Вот допустим, у меня есть класс который нужен мне для того чтобы сгенерировать html страницу, и поместить ее в темповую директорию jboss, чтобы метод REST возвращал ссылку на эту страницу.

Собственно, я назвал класс buildingList.class Все работает четко, но название блин не могу придумать.

Answer 1

Ну вроде бы написали все верно, тем не менее элемент недосказанности остался - спешу восполнить пробел (по следам документа Java Naming Convention и своего опыта):

  1. Имена классов: начинаются с большой буквы и должны состоять из существительных, типа BuildingList в стиле CamelCase
  2. Имена интерфейсов: начинаются с большой буквы и должно быть прилагательным, типа: Buildable - тоже в стиле CamelCase
  3. Имена методов: начинаются с маленькой буквы и должны быть глаголами (в стиле CamelCase), типа: buildList
  4. Имена переменных: начинаются с маленькой буквы, типа: myList - в стиле CamelCase
  5. Имена пакетов: все маленькими буквами, типа: com.builder.list - не в стиле CamelCase, принято именовать пакеты доменным именем владельца, типа: ru.padawan.builder.list, хорошим тоном считается регистрация своего доменного имени и активно применять свое доменное имя с именами пакетов.
  6. Имена констант: все большими буквами, типа: MY_LIST_CONSTANT - стиль CamelCase не применяется, слова разделяются нижним подчеркиванием.

CamelCase (буквально верблюжий регистр) - это когда каждое новое слово пишется с большой буквы, типа: HereIsCamelCaseExampleName - ЭтоПримерВерблюжьегоСтиляИменования

Answer 2

Почитайте БЭМ (Блок-Элемент-Модификатор) вот как пример статьи:

https://ru.wikipedia.org/wiki/%D0%91%D0%AD%D0%9C

https://ru.bem.info/methodology/

READ ALSO
инспекция кода (крестики нолики)

инспекция кода (крестики нолики)

Изучаю Джава, пока не понимаю кокой код "чистый", а какой

221
Метод onOptionsItemSelected.Для чего в case прописывается return true?

Метод onOptionsItemSelected.Для чего в case прописывается return true?

Оператор switch реализован таким образом, что после совпадения первого case, выполняются все остальные case, пока не встретится оператор передачи...

140
Событие при нажатии Enter

Событие при нажатии Enter

Есть TextView и при нажатии клавиши Enter курсор переходит на новую строку но в начало линии добавляется номер строки с точкой и пробеломИ все хорошо,...

181
Cannot resolve symbol 'NameValuePair'

Cannot resolve symbol 'NameValuePair'

Знаю, что в gradlebuild нужно внести запись, но у меня в проекте нет такого файла, т

177