Java – Class & Method Structure
Size Limits
| Element |
Limit |
| Class |
< 300 lines |
| Method |
< 30 lines |
| Parameters |
<= 4 (use DTO/Builder beyond that) |
Field Order
public class UserService {
// 1. Static fields
private static final Logger log = LoggerFactory.getLogger(UserService.class);
// 2. Instance fields
private final UserRepository userRepository;
// 3. Constructor
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
// 4. Public methods
// 5. Private methods
}
Dependency Injection
// Correct - Constructor injection
public class OrderService {
private final PaymentService paymentService;
public OrderService(PaymentService paymentService) {
this.paymentService = paymentService;
}
}
// Incorrect - Field injection, never use
// @Autowired
// private PaymentService paymentService;