- Update Paper API: 1.20.1 -> 1.21.4 - Update plugin version: 1.5.5-1.20.1 -> 1.5.5-1.21.8 - Add checkstyle plugin with reasonable rules - Fix Enchantment.LUCK -> Enchantment.UNBREAKING - Fix EntityType.FIREWORK -> EntityType.FIREWORK_ROCKET - Remove unused imports - Add temp_*/ to .gitignore - 118 files changed, 1633 insertions(+), 1301 deletions(-)
2.5 KiB
2.5 KiB
Checkstyle Configuration
Автоматическая проверка качества кода во время билда.
Правила
Размеры
- Файл: максимум 150 строк
- Метод: максимум 30 строк
- Строка: максимум 120 символов
- Параметры: максимум 5 параметров
Сложность
- Cyclomatic Complexity: максимум 10
- Вложенность if: максимум 3 уровня
- Вложенность try: максимум 2 уровня
Качество кода
- Нет дублирования строк (макс 2 повтора)
- Нет магических чисел (кроме -1, 0, 1, 2, 3, 4, 5, 10, 20, 100)
- Нет * импортов
- Нет неиспользуемых импортов
- Упрощение boolean выражений
- equals() и hashCode() вместе
Форматирование
- Отступы: 4 пробела
- Скобки обязательны для if/for/while
- Один оператор на строку
- Пробелы вокруг операторов
Запуск проверки
# Проверить весь проект
./gradlew check
# Проверить только LoChat
./gradlew checkstyleMain
# Проверить только LoHub
./gradlew :lohub:checkstyleMain
# Проверить только LoVelocity
./gradlew :lovelocity:checkstyleMain
Отчеты
После проверки отчеты доступны в:
build/reports/checkstyle/main.htmllohub/build/reports/checkstyle/main.htmllovelocity/build/reports/checkstyle/main.html
Отключение проверки
Если нужно временно отключить проверку для конкретного файла:
// CHECKSTYLE:OFF
public class MyClass {
// код без проверки
}
// CHECKSTYLE:ON
Или для конкретной строки:
private static final int MAGIC = 42; // CHECKSTYLE IGNORE MagicNumber
Интеграция с IDE
IntelliJ IDEA
- Установить плагин "CheckStyle-IDEA"
- Settings → Tools → Checkstyle
- Добавить конфиг:
config/checkstyle/checkstyle.xml - Активировать проверку в реальном времени
VS Code
- Установить расширение "Checkstyle for Java"
- Настроить путь к конфигу в settings.json