diff --git a/README.md b/README.md index 8624f2a..ada2fb7 100644 --- a/README.md +++ b/README.md @@ -71,3 +71,70 @@ Example: ```java @SuppressWarnings({"checkstyle:parametername", "checkstyle:localvariablename"}) ``` + +# Написание исходного кода + +Набор рекомендаций по подходу к написанию, оформлению и форматированию исходного кода на Java. + +## Оформление + +Поддержание единого code style осуществляется за счет использования `maven-checkstyle-plugin` с настроенным под наc [google style конфигом](https://github.com/rbkmoney/java-checkstyle-config). + +Вам **не нужно вручную добавлять плагин** в свой проект. Чаще всего, будет достаточно использовать подходящий parent pom. + +#### Для Spring проекта: +```xml + + com.rbkmoney + service-parent-pom + + +``` + +#### Для любого другого java проекта: +```xml + + com.rbkmoney + library-parent-pom + + +``` + +**Важно**. Лучше если вы воспользуетесь нашим шаблонизатором для создания проектов [rbk-templator](https://github.com/rbkmoney/rbk-templator). +Это удобно, в том числе, для того чтобы не следить за последними версиями parent pom. + +**Важно**. Если у вас цель модифицировать check style под свой проект - используйте property `checkstyle.config.path` с указанием пути до файла конфигурации: +```xml + + custom_google_checkstyle.xml + +``` + +### Форматирование кода в IntelliJ IDEA + +#### Realtime проверка стиля + +Для проверки стиля в realtime воспользуйтесь [плагином](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea) + +После установки плагина необходимо подключить наш файл конфигурации стилей. Это можно сделать в разделе `Tools > CheckStyle`, в настройках `IDEA`. + +![Intellij IDEA CodeStyle](images/codestyle/codestyle-intellij-idea.png) + +Актуальный файл конфигурации стилей можно взять из нашего [репозитория](https://raw.githubusercontent.com/rbkmoney/java-checkstyle-config/master/conf/rbkmoney_google_checkstyle.xml) + +#### Автоформатирование кода + +Чтобы воспользоваться автоформатированием кода - импортируйте [файл конфигурации стилей](https://raw.githubusercontent.com/rbkmoney/java-checkstyle-config/master/conf/rbkmoney_google_checkstyle.xml) в `Code Style` вашей `IntelliJ IDEA` + +![Intellij IDEA CodeStyle Format](images/codestyle/codestyle-intellij-idea-autoformat.png) + +Далее вы можете использовать эту схему для конкретного проекта или глобально. + +Форматирование осуществляется через вызов `Code > Reformat Code` в `IDEA`. + +**Важно**. Если у вас на CI check style падает с ошибкой, а у себя в локальной среде вы не видите ошибок форматирования кода - убедитесь, что используете актуальный [файл конфигурации стилей](https://raw.githubusercontent.com/rbkmoney/java-checkstyle-config/master/conf/rbkmoney_google_checkstyle.xml) в `IntelliJ IDEA` + +## Краткое описание классов + +В шапке каждого класса хорошим тоном будет указывать небольшое описание того, зачем этот класс нужен и что он делает. +