Перейти к содержимому
Последнее обновление

Правила форматирования кода 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​

  1. Установите плагин Checkstyle-IDEA в настройках.
  2. Перейдите в Tools -> Checkstyle, найдите Configuration File и нажмите Use a local Checkstyle file.
  3. Выберите файл fe/check/checkstyle/checkstyle.xml в корневом каталоге проекта.
  4. Убедитесь, что используется Checkstyle версии 9.3 или выше (рекомендуется последняя версия).

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

Настройка Checkstyle в VS Code​

  1. Установите плагин Checkstyle for Java.
  2. Завершите настройку, следуя инструкциям и анимациям в официальной документации по проверке кода Java.

Форматирование кода в IDEA​

Настройка автоматического форматирования​

Рекомендуется использовать функцию автоматического форматирования IDEA:

  1. Перейдите в Preferences -> Editor -> Code Style -> Java.
  2. Нажмите значок настройки, выберите Import Scheme, затем IntelliJ IDEA code style XML.
  3. Выберите файл 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.