Code Style and Linting
Java Code Formatting
The Essencium Backend follows standard Java conventions and Spring Boot best practices for code organization and formatting.
Project Structure
project/
|-- src/
| |-- main/
| |-- java/
| |-- de/frachtwerk/essencium/backend/
| |-- configuration/
| |-- controller/
| |-- model/
| |-- repository/
| |-- service/
| |-- security/
| |-- util/Lombok Usage
Lombok is used throughout the project to reduce boilerplate code by providing annotations to generate common methods:
@Getterand@Setterfor accessor methods@ToStringfor string representation@EqualsAndHashCodefor equality checks@NoArgsConstructor,@AllArgsConstructor,@RequiredArgsConstructorfor constructors@Builderfor builder pattern@Dataas a shortcut for common annotations@Slf4jfor logging
Spring Annotations
Use appropriate Spring annotations for dependency injection and configuration:
@Component,@Service,@Repository,@Controllerfor bean definitions@Autowiredfor dependency injection (constructor injection preferred)@Configurationfor configuration classes@Beanfor bean factory methods@Valuefor property injection@ConfigurationPropertiesfor type-safe configuration
General Code Conventions
- Use meaningful variable and method names
- Keep methods small and focused on a single responsibility
- Prefer composition over inheritance
- Use interfaces for contracts and abstraction
- Follow SOLID principles
- Write unit tests for business logic
- Use appropriate logging levels (DEBUG, INFO, WARN, ERROR)