我在工做中,團隊爲了保證代碼和提升代碼的質量,要求每一個項目都要求安裝git-pylint-commit-hook
,它是個鉤子,會在你提交代碼到本地版本庫的時候,自動運行,根據配置文件pylintrc
中的配置,去檢測改動過文件中的代碼,並會對其進行評分,若是未達到設置的分數線,則此次提交到本地版本庫的操做(commit),強制取消。須要修改代碼後,評分超過設定的分數,才能夠提交到本地版本庫。git
我發現這個是個很好的東西,因此就在本身的項目中也嘗試安裝使用,用來提升本身項目的代碼質量。github
cd 你的項目文件
,到你的項目根目錄下(下面全部操做都是在項目根目錄下操做)ui
pip install -U git-pylint-commit-hook
,安裝git-pylint-commit-hook
鉤子code
輸入mkdir .hooks/pre-commit
,初始化鉤子blog
輸入chmod 755 .hooks/pre-commit
,修改pre-commit權限,賦予可執行權限,並加入以下內容:
#!/bin/sh # use pylint to check code, # Requirements: # pip install git-pylint-commit-hook # git-pylint-commit-hook --limit=9.0 --pylintrc=.pylintrc
事件
limit參數就是設定的最低評分。ip
輸入touch .pylintrc
,建立配置文件,並加入內容:pylintrc配置rem
輸入ln -sf $(pwd)/.hooks/pre-commit .git/hooks/
,關聯到github的commit事件,也就是執行commit指令時,自動運行pre-commit
腳本。get
以後每次執行commit指令時,會自動對你的代碼評分,以下圖:it
這個鉤子並不能徹底保證代碼的質量,可是能夠在必定程度上統一代碼風格,從而提升項目的總體質量。剛開始,用的時候會有些不適應,就像俗話說的:「良藥苦口利於病」。
注意:使用過程當中若是要忽略一些警告,則在[MESSAGES CONTROL]下,加入字段例如:disable=C0303,C0111,W0223
,就能夠忽略這些非代碼風格的錯誤,提升分數。