4 ms·
So this is a linter? What does this give me that django-lint and pylint doesn't?
by davej 11y ago
So this is a linter? What does this give me that django-lint and pylint doesn't?
- ThePhysicist 11y agoIt's more a tool for writing your own linters: We have developed a code-query language (Cody - http://docs.quantifiedcode.com/patterns/language/index.html http://docs.quantifiedcode.com/patterns/language/index.html) that allows you to very easily write your own code checkers. Using that language we have implemented many checks from PyLint, PyFlakes etc. but for us the most interesting feature is that you can easily translate your own conventions into automated rules and check them on each commit. So while we offer PyLint patterns as well we give you a way to go way beyond what normal linters can offer.
- ska 11y agoInteresting ... but I still wouldn't call it review. Both linting and review are worth doing, but they achieve very different things. In fact, I often think of linting as a good tool to reduce noise in the review process.
- ThePhysicist 11y agoThanks for the feedback! How would you call it? Static analysis? Linting? Code linting seemed too be a very specific and not widely known term for us while most people seem to know what "code review" means, hence our decision to call it "automated code review".
- ska 11y agoWell, unless I've missed something, it is by definition static analysis -- so that's probably a good start. The way I look at it is that every minute you spend discussing a point in a review that could have been caught/corrected by a static tool is a minute wasted. But these tools can't do any of the actual work of the review. By the way, linting is a fairly well known term with a long history, but it wouldn't surprise me if there are communities that don't know the term.
- dagw 11y ago"At QuantifiedCode, we use big data and machine learning techniques to analyze vast amounts of open source code" So it's pylint updated to be fully compliant with all the latest buzzword standards.
- ThePhysicist 11y agoActually we build our own code checkers using a custom query language that we have developed, so while we use a lot of buzzwords we actually do the things they stand for ;) We are pretty open about our methods and technologies, check out e.g. this talk from the PyCon 2015 for more details on our approach: https://www.youtube.com/watch?v=rN0kNQLDYCI https://www.youtube.com/watch?v=rN0kNQLDYCI Slides are available here: http://www.slideshare.net/japh44/talk-handout-46938511 http://www.slideshare.net/japh44/talk-handout-46938511
- yole 11y agoThen the example on the index page could be updated to sound more convincing. You don't need big data and machine learning to detect a wildcard import.
- ThePhysicist 11y agoGood point, we'll think about updating this. Thanks for the feedback!
- efriese 11y agoI've worked for a major static analysis product company for 7 years and I can tell you from experience customizing rules is not a popular feature. People like the idea of writing custom rules, but the vast majority don't. You guys may make a market out of this and prove me wrong wrong, I just wanted to provide some feedback based on my experience in this industry.