I am looking for a static analysis tool for Python, Ruby, Sql, Cobol, Perl, PL/SQL, SQL similar to find bugs and check style. I am looking for calculating the line count, identify bugs during the development, and enforcing coding standard.
6 Answers
Perl has Perl::Critic (and perlcritic.com)
- 61,688
- 16
- 123
- 216
-
It worked pretty well for me; it found some archaisms in my code which I’d been copy/pasting since before they were archaic. – Flash Sheridan Jun 06 '09 at 18:02
-
@Flash - curious as to what they were? – DVK Apr 28 '10 at 10:30
-
Funny you should ask yesterday; I think they were violations at Palm, from my BBEdit Perl stationery, of “128. Use … the three-argument form of open. This variant was introduced in Perl 5.6 and is more robust that the older two- argument version, which is susceptible to very rare, but subtle, failures.” I’d originally written the code in the last millennium; nothing is so permanent as sample code… – Flash Sheridan Apr 29 '10 at 15:02
I use PyChecker and pylint as Python code checkers. However it seems that they get buggy when you use some modules (e.g., socket
or pygame
, IIRC).
- 55,374
- 18
- 76
- 92
-
Both Perl:Critic and Pylint looks very good for Python.. Which would be the best choice? – Jun 05 '09 at 14:50
-
4
-
-
-
+1 for pylint. Unfortunately, there doesn't seem to be a version for 3.x yet. – dan04 Mar 08 '10 at 07:07
For Ruby, you're probably best served looking at this previous SO question:
which seems pretty thorough.
- 1
- 1
- 48,790
- 12
- 86
- 124
See various static analysis tools from Semantic Designs.
These cover standard metrics for Java, C# and COBOL. There are also tools to detect duplicate code (clones) for many languages, including Python, Java, PL/SQL (from your list).
Finally, there is a style checker (coding standards checks) for COBOL (with optional Eclipse plugin) that offers refactoring support to fix some of the style errors.
- 88,629
- 18
- 158
- 311
I use Pylint for Python which was nicely integrated into Komodo by Brandon Corfman (if ActiveState's Komodo is your thing).
- 111,282
- 28
- 160
- 186
- 352
- 1
- 10