rust-lang / rust-lang/rust-clippy
New lint: API complexity
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Description
We have lints about the complexity of functions. Off the top of my head I know
- too many function arguments
- too complex type
I recently found De Souza, C. R. B., & Bentolila, D. L. M. (2009). Automatic evaluation of API usability using complexity metrics and visualizations. 2009 31st International Conference on Software Engineering - Companion Volume. doi:10.1109/icse-companion.2009.5071006 which implements Bandi, R. K., Vaishnavi, V. K., & Turk, D. E. (2003). Predicting maintenance performance using object-oriented design complexity metrics. IEEE Transactions on Software Engineering, 29(1), 77–87. doi:10.1109/tse.2003.1166590.
Maybe we can unify these under a single metric for public functions and types?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file, test, or entry point is identified in the issue. Start by reviewing the existing lints for function arguments and type complexity, then read the two cited papers to determine whether a unified metric for public functions and types is well specified. Done would require an agreed metric and implementation scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100