Правила форматирования кода Java
Код Apache Doris на Java (преимущественно модуль FE) обычно форматируется автоматически средствами IDE. В этом документе приведены общие правила форматирования и способы настройки различных IDE. В конвейере CI форматирование кода проверяется с помощью formatter-check.
Правила порядка импорта
Операторы импорта должны быть расположены в следующем порядке групп, разделённых одной пустой строкой:
org.apache.doris
<blank line>
third party package
<blank line>
standard java package
<blank line>
Дополнительные правила:
| Правило | Описание |
|---|---|
Запрет на import * | Каждый класс необходимо импортировать явно |
Запрет на import static | Статический импорт не допускается |
Проверка Checkstyle при компиляции
При компиляции с помощью maven по умолчанию выполняется проверка Checkstyle, что немного замедляет компиляцию. Чтобы пропустить проверку, используйте следующую команду:
mvn clean install -DskipTests -Dcheckstyle.skip
В CI проверка форматирования кода через formatter-check обязательна. Пропускать локальную проверку следует только при разработке и отладке. Перед отправкой PR убедитесь, что форматирование соответствует требованиям.
Настройка плагина Checkstyle
Настройка Checkstyle в IDEA
- Установите плагин
Checkstyle-IDEAв настройках. - Перейдите в
Tools -> Checkstyle, найдитеConfiguration Fileи нажмитеUse a local Checkstyle file. - Выберите файл
fe/check/checkstyle/checkstyle.xmlв корневом каталоге проекта. - Убедитесь, что используется
Checkstyleверсии 9.3 или выше (рекомендуется последняя версия).

После настройки можно использовать плагин Checkstyle-IDEA для проверки кода с помощью Checkstyle:

Настройка Checkstyle в VS Code
- Установите плагин
Checkstyle for Java. - Завершите настройку, следуя инструкциям и анимациям в официальной документации по проверке кода Java.
Форматирование кода в IDEA
Настройка автоматического форматирования
Рекомендуется использовать функцию автоматического форматирования IDEA:
- Перейдите в
Preferences -> Editor -> Code Style -> Java. - Нажмите значок настройки, выберите
Import Scheme, затемIntelliJ IDEA code style XML. - Выберите файл
build-support/IntelliJ-code-format.xmlв корневом каталоге проекта.
Изменение порядка объявлений в коде
Checkstyle проверяет порядок объявлений в коде в соответствии с разделом Объявления классов и интерфейсов.
После импорта указанного выше файла build-support/IntelliJ-code-format.xml используйте Code/Rearrange Code для автоматического упорядочивания объявлений:

Автоматическое удаление неиспользуемых импортов
| Цель | Действие |
|---|---|
| Только удалить неиспользуемые импорты | Сочетание клавиш по умолчанию: CTRL + ALT + O |
| Автоматически удалять и упорядочивать импорты при сохранении | Установите флажок Preferences -> Editor -> General -> Auto Import -> Optimize Imports on the Fly |
Часто задаваемые вопросы
Вопрос: Как устранить ошибку formatter-check в CI?
Запустите проверку локально с помощью IDEA или плагина Checkstyle. Убедитесь, что порядок импорта, правила именования и порядок объявлений соответствуют требованиям в fe/check/checkstyle/checkstyle.xml, затем отправьте изменения повторно.
Вопрос: Влияет ли пропуск локальной проверки Checkstyle на слияние PR?
Да. В CI по-прежнему запускается formatter-check. Локальный параметр -Dcheckstyle.skip предназначен только для ускорения сборок при разработке. Итоговый код должен пройти проверку Checkstyle.