115 lines
3.5 KiB
Markdown
115 lines
3.5 KiB
Markdown
# Checkstyle Configuration | Конфигурация Checkstyle
|
|
|
|
This project uses **Google Java Style** for code quality enforcement.
|
|
Проект использует **Google Java Style** для контроля качества кода.
|
|
|
|
---
|
|
|
|
## 🇬🇧 English
|
|
|
|
### Rules
|
|
|
|
Based on [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html):
|
|
|
|
| Category | Rule | Value |
|
|
|----------|------|-------|
|
|
| **Indentation** | Basic offset | 2 spaces |
|
|
| **Indentation** | Continuation indent | 4 spaces |
|
|
| **Line length** | Max characters | 100 |
|
|
| **File length** | Max lines | 600 |
|
|
| **Method length** | Max lines | 60 |
|
|
| **Complexity** | Cyclomatic complexity | ≤ 15 |
|
|
| **Parameters** | Max per method | 7 |
|
|
| **Nested if** | Max depth | 3 |
|
|
| **Nested try** | Max depth | 2 |
|
|
|
|
### Key Requirements
|
|
|
|
- **Spaces only** — no tabs
|
|
- **Braces** — required for `if`, `for`, `while`, `do`
|
|
- **Imports** — no wildcards, no unused imports, grouped ordering
|
|
- **Javadoc** — required on all public/protected methods and types
|
|
- **Naming** — camelCase, no abbreviations (except allowed: IO, URL, HTML, etc.)
|
|
|
|
### Running
|
|
|
|
```bash
|
|
# Full check
|
|
./gradlew check
|
|
|
|
# Only LoChat
|
|
./gradlew checkstyleMain
|
|
```
|
|
|
|
### Reports
|
|
|
|
After check, reports are available at:
|
|
- `build/reports/checkstyle/main.html`
|
|
|
|
### IntelliJ IDEA Setup
|
|
|
|
1. Install "CheckStyle-IDEA" plugin
|
|
2. Settings → Tools → Checkstyle
|
|
3. Add configuration: `config/checkstyle/checkstyle.xml`
|
|
|
|
---
|
|
|
|
## 🇷🇺 Русский
|
|
|
|
### Правила
|
|
|
|
Основаны на [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html):
|
|
|
|
| Категория | Правило | Значение |
|
|
|-----------|---------|----------|
|
|
| **Отступы** | Основной | 2 пробела |
|
|
| **Отступы** | Перенос строки | 4 пробела |
|
|
| **Длина строки** | Максимум | 100 символов |
|
|
| **Длина файла** | Максимум | 600 строк |
|
|
| **Длина метода** | Максимум | 60 строк |
|
|
| **Сложность** | Цикломатическая | ≤ 15 |
|
|
| **Параметры** | Макс. на метод | 7 |
|
|
| **Вложенность if** | Макс. глубина | 3 |
|
|
| **Вложенность try** | Макс. глубина | 2 |
|
|
|
|
### Ключевые требования
|
|
|
|
- **Только пробелы** — никаких табуляций
|
|
- **Скобки** — обязательны для `if`, `for`, `while`, `do`
|
|
- **Импорты** — без *-импортов, без неиспользуемых, группировка
|
|
- **Javadoc** — обязателен для всех public/protected методов и типов
|
|
- **Именование** — camelCase, без сокращений (кроме разрешённых: IO, URL, HTML и т.д.)
|
|
|
|
### Запуск
|
|
|
|
```bash
|
|
# Полная проверка
|
|
./gradlew check
|
|
|
|
# Только LoChat
|
|
./gradlew checkstyleMain
|
|
```
|
|
|
|
### Отчёты
|
|
|
|
После проверки отчёты доступны в:
|
|
- `build/reports/checkstyle/main.html`
|
|
|
|
### Настройка IntelliJ IDEA
|
|
|
|
1. Установите плагин "CheckStyle-IDEA"
|
|
2. Settings → Tools → Checkstyle
|
|
3. Добавьте конфигурацию: `config/checkstyle/checkstyle.xml`
|
|
|
|
### Disabling Checks | Отключение проверок
|
|
|
|
```java
|
|
// CHECKSTYLE:OFF
|
|
public class MyClass {
|
|
// code without checks
|
|
}
|
|
// CHECKSTYLE:ON
|
|
|
|
// Per line:
|
|
private static final int MAGIC = 42; // CHECKSTYLE IGNORE MagicNumber
|
|
```
|