Finding unused Django code to remove

2019-02-02 04:00发布

问题:

I've started working on a project with loads of unused legacy code in it. I was wondering if it might be possible to use a tool like coverage in combination with a crawler (like the django-test-utils one) to help me locate code which isn't getting hit which we can mark with deprecation warnings. I realise that something like this won't be foolproof but thought it might help.

I've tried running coverage.py with the django debug server but it doesn't work correctly (it seems to just profile the runserver machinery rather than my views, etc).

We're improving our test coverage all the time but there's a way to go and I thought there might be a quicker way.

Any thoughts?

Thanks.

回答1:

You can run the development server under coverage if you use the --noreload switch:

coverage run ./manage.py runserver --noreload


回答2:

pylint is great tool for static code analysis (among others things it will detect unused imports, variables or arguments).

  • http://nedbatchelder.com/blog/200806/pylint.html
  • http://www.doughellmann.com/articles/pythonmagazine/completely-different/2008-03-linters/index.html