Comments (4)
@NikitaSkrynnik The problem of checking comment quality is still unresolved; mainly because the more fundamental question "What is a high quality comment" is still unanswered. The paper A decade of code comment quality assessment: A systematic literature review provides a good overview of where the research is on the subject.
In languages like Java or C++ where standard "markup" languages for comments are available (like Javadoc). The tooling might enforce things like "every parameter must be documented" or "potential exceptions must be documented"... anyway the quality of the actual comments is out of the reach of the analysis.
As an example of the diversity of opinions about code comments I can mention projects where comments are forbidden (with checks in the CI rejecting PR with comments). The rationale is: if you need comments to make your code clear, then it means your code is not clear enough.
from revive.
This sounds like an interesting proposal. Do you think you can provide a PR for that @NikitaSkrynnik ? I'd happily review it.
from revive.
@NikitaSkrynnik, side note on the rule proposal.
IMO, enforcing comment min length will not help at all in comment quality.
For example, I'm currently working on a code base where a "at least 25% of lines should be comments" rule is enforced and, as you might guess, developers found the way to respect the rule without bothering on the actual quality of the comment. The result of enforcing this rule is: unhappy devs (they expend time tricking the rule) and still poor comments (even worst than before)
The quality of a comment is intrinsically related with its semantic, and because comments are written in natural languages (English), it is near to impossible to measure their quality with static methods/metrics.
from revive.
@chavacava thanks! After some thoughts I agree. Could you recommend any other ways to check the quality of comments?
from revive.
Related Issues (20)
- Add configuration to the dot-import rule HOT 8
- Supporting multiple expressions for import-alias-naming HOT 3
- Error generated when try to compare strings in test which contains color codes HOT 3
- bug: `redundant-import-alias` rule check for import path instead of package name HOT 7
- Ignore dot import aliases in git push in import-alias-naming rule HOT 2
- detect unnecessary gomock controller Finish call HOT 4
- modifies-value-receiver ignores modification to maps and slices HOT 1
- var-naming rule to check that plural vars with ID are capitalised HOT 7
- Add a linter rule to enforce omitting the type for the same type arguments in a function HOT 3
- add-constant suggests invalid fix of replacing struct tags with string constants for anonymous structs HOT 2
- New release (1.3.5) HOT 1
- Cannot install 1.3.5 HOT 9
- replace directive error in latest tag / release HOT 1
- Cannot install 1.3.5 but 1.3.3 works HOT 1
- `unhandled-error`: error message function name does not match name used for exclusions
- Expand `unused-parameter` to check anonymous functions HOT 1
- next phase of refactoring from black and white to block and allow HOT 2
- enforce-slice-style: Add declaration style HOT 8
- False Positive in rule max-control-nesting HOT 3
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 revive.