owpk/javarules icon
public
Published on 4/24/2025
Java Rules

Rules
- Предпочитайте внедрение конструктора внедрению поля для лучшей тестируемости и неизменности. 
- Используйте правильное ведение журнала (например, SLF4J) вместо System.out.println(). 
- Оберните ответы контроллера в ResponseEntity для большего контроля над кодами состояния HTTP. 
- Перехватывайте определенные исключения вместо использования общего 'Exception' в блоках try-catch. 
- Используйте аннотации Lombok, такие как @Data, @Value и @Builder, чтоб уменьшить шаблонный код. 
- Сохраняйте контроллеры компактными — делегируйте бизнес-логику классам служб. 
- "Следуйте стандартной структуре проекта Spring Boot: отдельные пакеты для контроллеров, служб, репозиториев и моделей." 
- Пишите модульные тесты для служб и интеграционные тесты для контроллеров, используя @WebMvcTest или @SpringBootTest. 
- Применяйте @Transactional к методам служб, работающим с изменениями базы данных, чтобы обеспечить согласованность. 
- Используйте @ControllerAdvice для централизованной обработки исключений. 
- Методы должны делать одно и делать это хорошо — следуйте принципу единственной ответственности (SRP). 
- Отдавайте предпочтение осмысленным именам методов и переменных, которые четко выражают намерение. 
- Избегайте магических чисел и строк — используйте константы или перечисления для лучшей читабельности и удобства обслуживания. 
- Ограничьте параметры метода тремя или менее — используйте объекты или конструкторы для сложных входных данных. 
- Пишите небольшие, целенаправленные классы, которые придерживаются принципа «один класс, одна ответственность». 
- Используйте потоки и необязательные для более чистого, декларативного кода при работе с коллекциями и значениями, допускающими значение NULL."