2013-04-29 14 views
2

我正在領導一個大型的python項目,它使用Django(模型),芹菜,python。現在,我只是發現代碼質量失控了。 的問題是:如何控制python/Django /芹菜代碼質量

  1. 提交到Git的代碼有一些基本的編程錯誤(以覆蓋測試它了)
  2. Sever的人提交代碼到一個分支。 (我們使用git流程,它需要經常合併)

對於問題1,我使用pylint的思維,但我們的項目是很大的,而且有那麼多的依賴(Django的,芹菜)。

pylint可以正常工作嗎?我只是嘗試pylint,似乎會報告一些誤導性的錯誤,如django.objects不存在。那麼對您的項目進行質量控制的最佳做法是什麼?

對於問題2,我不知道如何改進它?

回答

0

我不熟悉其他python代碼跳棋,但我可以告訴你我的經驗使用Pylint與一個小的Django項目。

它給出了很多錯誤的錯誤。似乎存在過度虛假錯誤與這些類別中可能缺失的合法錯誤的權衡。我在測試&運行的代碼上使用它,所以現在我已經配置它忽略大部分這些類別。

這是目前我.pylintrc設置

添加東西的路徑,如果你想它來檢查工作,進口

[MASTER] 

init-hook='import sys; sys.path.append("...your directories...") 

我的自由主義錯誤信息經常產生假陽性的忽視。

[MESSAGES CONTROL] 

# E1002: use of super on old style class 
# E1101: __ has no __ member 
# E1103: maybe no member 
# F0401: couldn't import 
# R0924: badly implemented container (false pos on forms.Form subclassers) 
# W0232: class has no __init__ (when inheriting) 
# W0613: unused-argument (functions that are supposed to always take request/obj) 
disable=E1002,E1101,E1103,F0401,R0903,R0924,W0232,W0613 

添加一些自動成員國避免一些常見的E1101,如果要啓用該檢查

[TYPECHECK] 

generated-members=REQUEST,acl_users,aq_parent,objects,_meta,id,pk 

。希望儘可能的Django + pylint的去幫助。

0

如果您打算使用SaaS解決方案,請隨時查看QuantifiedCode(https://www.quantifiedcode.com)。

這是一個在線工具,用於自動化,持續的代碼審查和智能,並且完全免費,適用於開源項目。它具有Github集成功能,並提供大量可定製的代碼檢查(例如針對Django的通用和特定於庫的檢查)以及項目指標(披露:我是CTO)。

我們的代碼檢查工具是開源的好,可以在Github上找到:

https://github.com/quantifiedcode/checkmate

有類似的工具,你應該看看爲好,例如Landscape(www.landscape.io),CodeClimate(www.codeclimate.com),Codacy(www.codacy.com)或SonarSource(www.sonarsource.com - 自我託管解決方案)。他們中的大多數也爲開放源代碼項目提供免費層。