Comments (2)
would it be useful to make it possible to not count such constructs for complexity metrics?
There are other measures for complexity measurement but the McCabe measure counts all branches. One of these if statements makes 2 branches in the code. Any time we don't exit early, we see another set of 2 branches (guarded branch, happy branch). As far as the measure that this library implements, we're calculating the complexity metric appropriately.
I think radon
has other measures that may be of interest to you as well as a flake8 plugin.
from mccabe.
thanks, radon looks interesting.
from mccabe.
Related Issues (20)
- Config: Ignore local functions HOT 1
- Allow setting max complexity per function HOT 1
- [docs] Incorrect date on release note for 0.7.0 HOT 1
- Improve error message on invalid use: `python -m mccabe`
- Error code when there are functions with complexity greater than the threshold
- Add support for pytest 7+ HOT 2
- Use setuptools.build_meta HOT 1
- RecursionError on long elif
- "U" mode is no longer accepted from Python 3.9
- state project maintenance status HOT 2
- mccable should allow ranged noqa exceptions HOT 3
- optparse 'type' option no longer accepts strings HOT 1
- install offline mccabe with error HOT 1
- Release mccabe > 0.6.1 to remove pytest-runner requirement? HOT 1
- Some way to ignore specific marked branches for the purposes of the complexity measure HOT 1
- 0.7: test failure HOT 5
- [Proposal] Add a check for none/multiple positional arguments
- GitHub Action HOT 1
- [Proposal] Allow disabling "try-except" clauses evaluation. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mccabe.