Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a New Maven Module "utils" for Common Code Reuse #720

Closed
VictorCavichioli opened this issue Sep 19, 2024 · 1 comment
Closed

Create a New Maven Module "utils" for Common Code Reuse #720

VictorCavichioli opened this issue Sep 19, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent

Comments

@VictorCavichioli
Copy link
Contributor

VictorCavichioli commented Sep 19, 2024

Story Description:
To improve code reuse and maintainability across the project, a new Maven module named utils will be created. This module will house all common utility classes, such as exceptions, enums, and shared utility methods that are used by multiple other modules. By centralizing this common functionality, the project will avoid code duplication and ensure consistency in shared logic.

Key Responsibilities:

  1. Centralization of Common Code: All reusable code, such as custom exceptions, enums, and utility classes (e.g., string manipulation, date handling), will be moved to this new utils module.
  2. Dependency Management: Modules requiring access to common classes will add the utils module as a Maven dependency, ensuring the reusability of code across the project without duplicating logic.
  3. Code Organization: Organize the common classes logically within the module to allow for easy discovery and usage across other modules.

Acceptance Criteria:

  1. Module Creation: The utils Maven module is created, added to the parent POM, and successfully builds without any issues.
  2. Common Classes Consolidation: Existing common classes such as custom exceptions, enums, and utilities are moved into the utils module, and references are updated in all affected modules.
  3. No Code Duplication: Ensure that all common functionality currently duplicated across modules is moved to utils, and all other modules are refactored to use the centralized classes.
  4. Dependency Management: Other modules in the project correctly reference the utils module as a Maven dependency, and no build issues arise from the changes.

Definition of Done:

  1. The utils module is included in the Maven project and is listed in the parent POM as a child module.
  2. All common classes such as exceptions, enums, and utilities are moved to the utils module and are imported in other modules where needed.
  3. All modules that depend on common functionality include the utils module as a Maven dependency.
  4. The project builds successfully, and the module integration is verified with unit and integration tests.
  5. Static code analysis and quality checks are passed, ensuring the module follows coding standards and best practices.

Notes:

Related to #652

@VictorCavichioli VictorCavichioli added enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent labels Sep 19, 2024
@VictorCavichioli VictorCavichioli self-assigned this Sep 20, 2024
@VictorCavichioli
Copy link
Contributor Author

PR merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent
Projects
None yet
Development

No branches or pull requests

1 participant