Update README.md (#17)

This commit is contained in:
Anatoly Karlov 2021-03-26 19:23:39 +07:00 committed by GitHub
parent ab609664e6
commit c85d389f36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -71,3 +71,70 @@ Example:
```java ```java
@SuppressWarnings({"checkstyle:parametername", "checkstyle:localvariablename"}) @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
<parent>
<groupId>com.rbkmoney</groupId>
<artifactId>service-parent-pom</artifactId>
<version></version>
</parent>
```
#### Для любого другого java проекта:
```xml
<parent>
<groupId>com.rbkmoney</groupId>
<artifactId>library-parent-pom</artifactId>
<version></version>
</parent>
```
**Важно**. Лучше если вы воспользуетесь нашим шаблонизатором для создания проектов [rbk-templator](https://github.com/rbkmoney/rbk-templator).
Это удобно, в том числе, для того чтобы не следить за последними версиями parent pom.
**Важно**. Если у вас цель модифицировать check style под свой проект - используйте property `checkstyle.config.path` с указанием пути до файла конфигурации:
```xml
<properties>
<checkstyle.config.path>custom_google_checkstyle.xml</checkstyle.config.path>
</properties>
```
### Форматирование кода в 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`
## Краткое описание классов
В шапке каждого класса хорошим тоном будет указывать небольшое описание того, зачем этот класс нужен и что он делает.