This isn't static analysis.<p>Compare the output of a "real" static analysis tool that <i>finds logic bugs</i>[0]<p><a href="https://www.dropbox.com/s/md35ca9mjrny4o1/Screen%20Shot%202013-02-07%20at%208.35.40%20AM.png" rel="nofollow">https://www.dropbox.com/s/md35ca9mjrny4o1/Screen%20Shot%2020...</a><p>With their whitespace recommendations<p><a href="https://codeq.io/github/tianyang-li/rna-seq-len-est-0/master/play/blat_test_0/gen.py" rel="nofollow">https://codeq.io/github/tianyang-li/rna-seq-len-est-0/master...</a><p>Which seem to mostly be a wrapper around autopep8: <a href="https://github.com/hhatto/autopep8" rel="nofollow">https://github.com/hhatto/autopep8</a>.<p>Even Pylint / Pyflakes would be more "static analyzer" than this tool, although it's a stretch.<p>[0] In this case it trips an assert, so the bug can't "really" happen. Still, it's pretty impressive stuff.
In the case of this tool, it seem that "code quality" means "formatted the way this tool's author believes is correct." I disagree with this definition.<p>When I think of code quality, I consider things like:<p><pre><code> - consistent memory management practices
- consistent use of accessor methods vs. direct ivar access
- descriptive method, function, and variable names
- commentary to describe caveats and tricky functionality
</code></pre>
Those first two (as well as formatting concerns) can be handled by tools while the next two are very "human" and subjective.
'codeq' is also the name of the static analysis tool released late last year<p><a href="https://github.com/Datomic/codeq" rel="nofollow">https://github.com/Datomic/codeq</a>
Code Climate (<a href="https://codeclimate.com/" rel="nofollow">https://codeclimate.com/</a>) is a similar service for Ruby projects that I think does a really good job of this.
Oh come on<p>Save yourself the money and run pep8 (better, forget about pep8 and run autopep8) and PyLint. Tune their output to your taste<p>Code style is important but it can be borderline pedantic sometimes.<p>Also, more than 80 chars fit in my screen<p>Not to mention that static code analysis can go so far
I think this is a great service which I would use for various of my projects. I understand that now it's mostly a MVP but with a few additional features this could become very interesting.<p>- As others pointed out, the error/reporting needs to be better. Ideally it should gives insight that a normal pep8 parser wouldn't give. I.e. I don't mind <i>that much</i> for the whitespaces.. but if you help me avoid a real bug, that's a huge deal.
Nice effort, but two lines in my shell give me the exact same result, and I can manipulate that to my needs.<p>Not everything has to be wrapped "as a service".
This might be an off topic question, but is there a way to get ongoing static analysis on either Python or Ruby.<p>The same way CLANG works with OBJ-C in Xcode.