Содержание:
- Пакеты
- Правила именования пакетов
- Согласованность чисел в именах пакетов
- Правила именования пакетов
- Классы
- Тестирование классов
- Константы
- Комментарии
Для предназначены пакеты? Каждый пакет предназначен для описания какой-то конкретно функциональности.
Например, есть проект поисковой системы. Что значит поисковая система? Что значит написать поисковую систему? Это значит, что нужно написать:
- парсер,
- сканирование веб-сайтов,
- получение доменных имён сайтов,
- получение их ссылок,
- система оценки того или иного ресурса или каждой страницы по отдельности.
По оценке это отдельная функциональность, по сканированию это другая функциональность и т.д.
Не рекомендуется:
- com.github.gusenov.java.controllers
- com.github.gusenov.java.dao
- com.github.gusenov.java.dao.accessors
- com.github.gusenov.java.dao.impl
- com.github.gusenov.java.model
- com.github.gusenov.java.services
- com.github.gusenov.java.utils
- com.github.gusenov.java.helpers
services и controllers написаны во множественном числе. model написан не во множественном числе.
Или они все должны быть написаны во множественном числе (что собственно и нужно, чтобы так было) или же все должны быть написаны в единственном числе, но это уже будет некорректное название.
Рекомендуется:
- com.github.gusenov.java.controllers
- com.github.gusenov.java.dao
- com.github.gusenov.java.dao.accessors
- com.github.gusenov.java.dao.impl
- com.github.gusenov.java.models
- com.github.gusenov.java.services
- com.github.gusenov.java.utils
- com.github.gusenov.java.helpers
Каждое название класса должно отвечать само за себя. Для чего оно предназначено.
Класс обычно представляет собой существительное, это модель некой концепции. В отличии от класса, метод моделирует некое действие. Поэтому test добавляется к имени классов как суффикс и к имени методов как префикс.
Не рекомендуется:
- TestMyClass.java
Рекомендуется:
- MyClassTest.java // потому что the MyClass test
- testCalculate() // потому что test [the] calculate [method]
Констант в коде не должно быть. Их необходимо выносить из кода.
В коде не должно быть вообще комментариев. Комментарии могут быть в каких-то местах очень сложно алгоритмических. Если же в коде написано множество коментариев это говорит о том, что он непонятный. Комментарии засоряют исходный код и он становится менее читабельным. Код должен быть написан таким образом, чтобы он был легко читаемым.