Ralph Hopman created FINERACT-2483:
--------------------------------------
Summary: Add Lombok usage guidelines to CONTRIBUTING.md
Key: FINERACT-2483
URL: https://issues.apache.org/jira/browse/FINERACT-2483
Project: Apache Fineract
Issue Type: Improvement
Components: Docs
Reporter: Ralph Hopman
Add a section documenting Lombok usage standards and best practices in the
[CONTRIBUTING.md|https://github.com/apache/fineract/blob/develop/CONTRIBUTING.md]
file to help contributors understand when and how to use Lombok annotations
consistently across the codebase.
h3. Changes
* Add new "Lombok" section under "How We Code"
* Document recommended annotations for different use cases:
** JPA entities: {{{}@Getter{}}}, {{{}@Setter{}}}, {{@NoArgsConstructor}}
** Service classes: {{{}@RequiredArgsConstructor{}}}, {{@Slf4j}}
** DTOs: {{@Data}}
** Configuration classes: {{@Builder}} with {{@Builder.Default}}
* Document annotations to avoid (e.g., {{@Data}} on entities,
{{{}@SneakyThrows{}}})
* Reference existing
[lombok.config|https://github.com/apache/fineract/blob/develop/lombok.config]
configuration
h3. Rationale
The codebase extensively uses Lombok ({{{}@RequiredArgsConstructor{}}},
{{{}@Slf4j{}}}, {{{}@Getter{}}}, {{{}@Setter{}}}, etc.) but has no
documentation guiding contributors on proper usage patterns. This causes
inconsistency and potential issues like using {{@Data}} on JPA entities.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)