code-complexity
Code is too complex - consider refactoring.
Applies to: C, C#, CPP, Go, H, HPP, JAVA, JavaScript, KT, Python, Ruby, Rust, SCALA, SWIFT, TypeScript
Why this matters
Complex code is hard to understand, test, and maintain. Deep nesting makes control flow hard to follow. Long functions do too many things. High branch counts make testing all paths difficult. Simpler code has fewer bugs and is easier to modify.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, QUAL011 includedstablestack explain QUAL011QUAL011 is part of the Pro rule set. See pricing — the free tier ships 24 checks with no signup.
False positive in your codebase? Suppress a single line with # noqa: QUAL011
More Code Quality checks
exception-swallowing
Silently swallowed exceptions hide bugs and make debugging hard
QUAL002unnamed-thread
Threads without names are hard to identify in debugging tools
QUAL003complex-tuple
Tuples with 3+ elements are hard to understand - use a dataclass instead
QUAL004mutable-default-argument
Mutable default arguments are shared between calls and cause bugs
QUAL005print-statement
Print statements are typically debugging code that shouldn't be committed
QUAL006todo-comment
TODO/FIXME comments indicate incomplete or problematic code
QUAL007broad-exception
Catching all exceptions hides bugs and makes debugging hard
QUAL008magic-number
Magic numbers make code hard to understand and maintain