Skip to content

[High] Oversized modules violate local maintainability guideline (400-line cap) #223

@coderabbitai

Description

@coderabbitai

Description

Several modules exceed the local maintainability guideline of 400 lines, making them harder to understand, test, and maintain.

Affected Modules

The following files violate the 400-line cap:

  • src/parser/ast/rule.rs
  • src/parser/ast/expr.rs
  • src/parser/expression/pratt.rs
  • src/parser/tests/expression.rs

Impact

Oversized modules:

  • Reduce code readability and comprehension
  • Make testing and maintenance harder
  • Increase cognitive load for contributors
  • Violate established project maintainability guidelines

Actionable Fixes

src/parser/ast/rule.rs

  • Move rule-term classification logic into a separate module

src/parser/ast/expr.rs

  • Extract S-expression formatting into a dedicated module

src/parser/expression/pratt.rs

  • Split postfix/diff/delay handling into separate focused modules

src/parser/tests/expression.rs

  • Move giant test case tables into data fixtures

Recommendation

Split these modules by responsibility, following the single-responsibility principle. Each resulting module should focus on a specific concern and stay well under the 400-line guideline.

References

Requested by

@leynos

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions