隨著軟件項目進入“維護模式”,對可讀性和編碼標準的要求很容易落空(甚至從一開始就沒有建立過那些標準)。然而,在代碼庫中保持一致的代碼風格和測試標準能夠顯著減輕維護的壓力,也能確保新的開發(fā)者能夠快速了解項目的情況,同時能更好地全程保持應用程序的質(zhì)量。
使用外部庫來檢查代碼的質(zhì)量不失為保護項目未來可維護性的一個好方法。以下會推薦一些我們最喜愛的 檢查代碼 (包括檢查 PEP 8 和其它代碼風格錯誤)的庫,用它們來強制保持代碼風格一致,并確保在項目成熟時有一個可接受的測試覆蓋率。
檢查你的代碼風格
PEP 8 是 Python 代碼風格規(guī)范,它規(guī)定了類似行長度、縮進、多行表達式、變量命名約定等內(nèi)容。盡管你的團隊自身可能也會有稍微不同于 PEP 8 的代碼風格規(guī)范,但任何代碼風格規(guī)范的目標都是在代碼庫中強制實施一致的標準,使代碼的可讀性更強、更易于維護。下面三個庫就可以用來幫助你美化代碼。
1、Pylint
Pylint 是一個檢查違反 PEP 8 規(guī)范和常見錯誤的庫。它在一些流行的 編輯器和 IDE 中都有集成,也可以單獨從命令行運行。
執(zhí)行 pip install pylint
安裝 Pylint 。然后運行 pylint [options] path/to/dir
或者 pylint [options] path/to/module.py
就可以在命令行中使用 Pylint,它會向控制臺輸出代碼中違反規(guī)范和出現(xiàn)錯誤的地方。
你還可以使用 pylintrc 配置文件 來自定義 Pylint 對哪些代碼錯誤進行檢查。
2、Flake8
Flake8 是“將 PEP 8、Pyflakes(類似 Pylint)、McCabe(代碼復雜性檢查器)和第三方插件整合到一起,以檢查 Python 代碼風格和質(zhì)量的一個 Python 工具”。
執(zhí)行 pip install flake8
安裝 flake8 ,然后執(zhí)行 flake8 [options] path/to/dir
或者 flake8 [options] path/to/module.py
可以查看報出的錯誤和警告。
和 Pylint 類似,F(xiàn)lake8 允許通過 配置文件 來自定義檢查的內(nèi)容。它有非常清晰的文檔,包括一些有用的 提交鉤子 ,可以將自動檢查代碼納入到開發(fā)工作流程之中。
Flake8 也可以集成到一些流行的編輯器和 IDE 當中,但在文檔中并沒有詳細說明。要將 Flake8 集成到喜歡的編輯器或 IDE 中,可以搜索插件(例如 Sublime Text 的 Flake8 插件 )。
3、Isort
Isort 這個庫能將你在項目中導入的庫按字母順序排序,并將其 正確劃分為不同部分 (例如標準庫、第三方庫、自建的庫等)。這樣提高了代碼的可讀性,并且可以在導入的庫較多的時候輕松找到各個庫。
執(zhí)行 pip install isort
安裝 isort,然后執(zhí)行 isort path/to/module.py
就可以運行了。文檔中還提供了更多的配置項,例如通過 配置 .isort.cfg 文件來決定 isort 如何處理一個庫的多行導入。
新聞熱點
疑難解答