Description
Currently, the codebase follows a pattern where code is organized by type:
- Custom types in the
types module
FromProof implementations in proof.rs
Query implementations in query.rs, etc.
As discussed in PR #2449, this approach can become inconvenient as the codebase grows, since related functionality is spread across different files.
Proposed Solution
Refactor the codebase to follow a domain-based approach where related functionality is grouped together by domain/feature rather than by type.
Benefits
- Improved developer experience by having related code in the same location
- Better code organization for a large project
- Easier to understand and maintain domain-specific functionality
References
Description
Currently, the codebase follows a pattern where code is organized by type:
typesmoduleFromProofimplementations inproof.rsQueryimplementations inquery.rs, etc.As discussed in PR #2449, this approach can become inconvenient as the codebase grows, since related functionality is spread across different files.
Proposed Solution
Refactor the codebase to follow a domain-based approach where related functionality is grouped together by domain/feature rather than by type.
Benefits
References