Skip to content

New rule OneTopLevelClass#831

Open
rinsley wants to merge 1 commit into
CodeNarc:masterfrom
rinsley:one-top-level-class-rule
Open

New rule OneTopLevelClass#831
rinsley wants to merge 1 commit into
CodeNarc:masterfrom
rinsley:one-top-level-class-rule

Conversation

@rinsley

@rinsley rinsley commented Jul 25, 2026

Copy link
Copy Markdown

This adds a new rule OneTopLevelClass to require exactly one top-level class/enum/interface per file. The rule is patterned off of and similar to ClassNameSameAsFilename but added to the convention ruleset instead, as this is more of a Java/Groovy convention than a naming issue. Classes inside scripts or other classes are not considered violations. Similar to some other convention rules, it has to be excluded from the RunCodeNarcAgainstProjectSourceCode.ruleset.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant