Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alternative Complexity Measures #136

Open
BradKML opened this issue Oct 18, 2021 · 2 comments
Open

Alternative Complexity Measures #136

BradKML opened this issue Oct 18, 2021 · 2 comments

Comments

@BradKML
Copy link

BradKML commented Oct 18, 2021

Is your feature request related to a problem? Please describe.
There are other Complexity metrics not included in this repo, that can be included.

Additional context

https://github.com/priv-kweihmann/multimetric

  • Difficulty according to Halstead
  • Effort according to Halstead
  • Fan-Out
  • Maintainability index
  • Metric according to pylint
  • Metric according to TIOBE
  • Number of delivered bugs according to Halstead
  • Time required to program according to Halstead
  • Volume according to Halstead

With https://github.com/mxmssh/IDAmetrics

  • Basic blocks count (function/module)
  • Functions count (module)
  • Conditions count (function/module)
  • Assignments count (function/module)
  • Jilb's metric (function/module)
  • ABC metric (function/module)
  • Pivovarsky metric (function/module)
  • Harrison metric (function/module)
  • Boundary value metric (function/module)
  • Span metric (function/module)
  • Global variables access count (function/module)
  • Oviedo metric (function/module)
  • Chepin metric (function/module)
  • Card & Glass metric (function/module)
  • Henry & Cafura metric (function/module)
  • Cocol metric (function/module)
@mwchase
Copy link

mwchase commented Jul 10, 2022

For what it's worth, multimetric or some other project should probably replace radon for the purpose of calculating Halstead metrics. Radon's Halstead calculations only count a subset of relevant operations, but overcount operands in all but the simplest code. (See rubik/radon#160 and rubik/radon#161)

For one file in a codebase I'm working on, I manually counted operands and operators, and while I didn't get the same results exactly out of multimetric, my hand-count and multimetric agree with each other more than they do with radon, which scored the file a zero on all Halstead metrics.

@tahabermaki
Copy link

hello @mwchase I want to implement multimetric library to have the code metrics for all languages ! But I don't know how to do it in jupyter notebook. Do you have in the documentation that can help me analyze a software code ?

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

No branches or pull requests

3 participants