Python新手常見的幾個問題以及工具推薦

Python新手常見的幾個問題以及工具推薦

最近在幫朋友做一些Python項目的Code Review(代碼審查),發現主要項目主要有以下幾點問題:

  1. 沒有進行環境隔離

由於Python開發常常會依賴各種各樣的包,包之間還存在各種依賴,如果環境沒有進行隔離,不同版本比如Python2和Python3版本,或者統一Python版本各種包不一致,常常會導致各種依賴問題。並且我們電腦上面可能同時開發多個Python項目。環境的依賴是我們首先要處理的。

環境隔離常見 virtualenv(推薦),zc.buildout,當然本地直接用docker也可以做到方便隔離,我們團隊日常開發就是通過docker開發,測試,生產環境進行統一的。

  1. 沒有錯誤收集報警

我們日常出現了錯誤是需要馬上定位修復的,需要一個錯誤反饋機制來收集具體錯誤上下文,通過郵件進行報警。如果沒有一個這樣的收集工具我們就會後知後覺。

這裡面我推薦Sentry,通過docker進行安裝部署這個工具非常快捷。

  1. 格式混亂

很多同學都能寫Python,但是不代表能寫好,適當遵守相關標準規範或規範有助於快速和專業的Python開發者交流。

這裡我推薦寫Python同學看下Google開源風格規範: http://t.cn/RkcabfS

並且結合 yapfflake8 來進行批量格式化校驗自己代碼格式,團隊合作在編輯器中加入 editorconfig 文件保證統一格式

  1. 沒有測試用例

作為一個嚴肅的項目,沒有測試是不可信的,不僅產品質量低,而且迭代的頻率也較低,具體原因大家可以去了解下。

這裡主要推薦 unittest/pytest,mock,tox,coverage等相關的測試工具。

  1. 沒有自動化版本更新工具

由於我們項目迭代發佈需要做很多操作,比如打包,上傳代碼,備份,更新數據表,重啟服務等等一些操作,手動操作很可能忘記其中的一步或者幾步,沒有自動化發佈更新工具效率無疑是低效的並且是不靠譜的。

這裡面主要推薦 FabricAnsible 等工具

  1. 沒有系統管理工具

在代碼審閱過程中,發現代碼上線之後只是用shell寫了腳本 nohup進行執行的,沒有Python進程管理工具,如果服務掛掉需要重啟什麼的,多個應用服務沒法做到快速重啟,關閉等操作。

這裡推薦supervisor這個工具進行服務批量管理控制。

  1. 其他

比如日誌打印不規範或者不打印,捕獲所有錯誤異常,字符串硬編碼,if else語句過多,模塊耦合度太高等等這些需要長期在編碼中積累和學習的。
這裡主要推薦兩本書: 「代碼整潔之道」 「編寫可讀性代碼的藝術」

雖然我這裡主要以Python舉例,推薦工具也是以Python語言為主,但實際情況這是接觸新語言新技術都需要了解的和知道的。

如果能做到上面的幾點,你的Python項目及代碼便開始變得專業起來,更多的我們下一篇繼續聊。

想學習python的小夥伴,記得關注我+私信回覆【1】找到合適自己的學習方案

祝各位小夥伴前途無憂,感謝您的閱讀與關注!


分享到:


相關文章: