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 ?
I'm not familiar with other python code checkers but I can tell you my experience using Pylint with a small Django project.
It gives a lot of false errors. There seems to be a tradeoff of excess false errors vs. possibly missing legitimate errors in those categories. I'm using it on code that has been tested & run, so for now I've configured it to ignore most of those categories.
This is my .pylintrc setup at the moment
Add stuff to the path if you want it to check if imports work
My liberal ignoring of error messages that frequently give false positives.
Add some automatic members to avoid some of the common E1101, if you want to enable that check
Hope that helps as far as Django + Pylint goes.