Browse the pyscn rule catalog
mainpyscn includes 33 rules organized into 7 functional categories. Each rule detects specific code smells, architectural issues, or security risks.
Rule Categories
- Unreachable Code: Detects dead code that can never execute (e.g.,
unreachable-after-return,unreachable-after-raise). - Duplicate Code: Identifies copy-paste or near-copy-paste fragments (e.g.,
duplicate-code-identical,duplicate-code-semantic). - Complexity: Flags functions that are too branchy to test reliably (e.g.,
high-cyclomatic-complexity). - Class Design: Detects classes with too many dependencies or unrelated responsibilities (e.g.,
high-class-coupling,low-class-cohesion). - Dependency Injection: Identifies patterns that hurt testability (e.g.,
too-many-constructor-parameters,global-state-dependency,service-locator-pattern). - Module Structure: Analyzes import graphs for cycles, deep chains, or layer violations (e.g.,
circular-import,layer-violation). - Mock Data: Detects placeholder or test data accidentally left in code (e.g.,
mock-email-address,test-credential-in-code).