I am leading a big python project, it using Django(model), celery, python. Right now, I just find the code quality is out of control. The problems are:
- The code submitted to git has some basic programmer mistake (It's had to covered by test)
- Sever people submit code to one branch. (We use git flow, it need to merge very often)
For problem 1, I am thinking using Pylint , but our project is big, and have so many dependency (Django,Celery).
Can pylint work well? I just have a try pylint, seems it will report some misleading error, like django.objects
does not exist. So what's your best practice to do quality control for your project?
For problem 2, I have no idea how to improve it ?
If you are open to use a SaaS solution, feel free to check out QuantifiedCode (https://www.quantifiedcode.com).
It's an online tool for automated, continuous code review and intelligence and completely free for open-source projects. It has Github integration and provides a large range of customizable code checks (both general-purpose and library-specific checks e.g. for Django), as well as metrics for your project (disclosure: I'm the CTO).
Our code checker is open-source as well and can be found on Github:
https://github.com/quantifiedcode/checkmate
There are similar tools that you should check out as well, e.g. Landscape (www.landscape.io), CodeClimate (www.codeclimate.com), Codacy(www.codacy.com) or SonarSource (www.sonarsource.com - self hosted solution). Most of them provide a free tier for open-source projects as well.