4 ms·
The rules are inherently there; we humans just don't understand them other than as a case by case basis. What needs to be done is a way to distill the logic be
by kefka 11y ago
The rules are inherently there; we humans just don't understand them other than as a case by case basis.
What needs to be done is a way to distill the logic behind "written good-quality code" and feed that to a machine to analyze. Machine learning seems like a good fit for this kind of exploratory problem.
- vonmoltke 11y agoThe rules aren't inherently there because there is no one standard for good code. Code quality cannot be separated completely from the context in which it is written.
- Karunamon 11y agoNot as a whole, but there are rules that can be evaluated against. Think consistent styling, usage of comments, etc. Things that the average linting tool tells you about. Granted this doesn't prove correctness, or lack of bugs, but style is a major factor of readability and hence quality.
- jstandard 11y agoI agree style can be a useful input to evaluate. Most of the critics, myself included, take issue with the broad brush Gradberry uses to paint their ability to measure quality. It's masquerading subjectivity as objectivity.
- mbesto 11y agoOk, so let's just pretend for a second "machine learning" solves the problem of determining whether code is good quality or not. Why not sell this as a service to analyzed large codebases for any software company? Don't you think every software organization in the world would pay thousands, if not millions, or dollars to analyze their codebase?
- ForHackernews 11y ago> Don't you think every software organization in the world would pay thousands, if not millions, or dollars to analyze their codebase? Uh...no? If software organizations cared strongly about "high quality" code, then there wouldn't be so much terrible code and technical debt floating around in the world. Companies care about: 1) Having code that works (for some value of 'works') to solve a problem, and 2) they care about getting that code immediately. They only distantly, indirectly care about code quality as it hinders or helps #1 and #2.