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)

Reply via email to