前言
大家都懂自動格式化代碼的好處。
不需要再對著pep8標準扣字眼來修改自己代碼
減少了組內不必要的討論,專注于項目功能
代碼風格更統一,github上傳代碼沖突更少
幫助多人開發(fā)協調代碼規(guī)范
因此大多數公司招聘python開發(fā)人員時將了解pep8規(guī)范和懂得使用自動格式化工具列入必備技能。
autopep8 vs yapf vs black
以下列舉了python中的三個自動格式化工具:
star 數截止 2020/8/28
autopep8 - github
star 3.5k
autopep8 是一個國人中知名度最高和使用最廣泛的自動格式化工具。 一個較為寬松的格式化工具,只會以最低限度的標準對不符合 pep8 標準的代碼進行修正。可能無法滿足那些有特定需求,或想讓代碼看起來更干凈更漂亮的人。
yapf - github
star 11k
由 google 開發(fā)并維護的格式化工具,特點是支持多種格式化風格。默認支持三種格式化樣式:pep8, google, Facebook 和 chromium。 yapf的初衷不是讓代碼符合pep準則, 而且讓代碼看起來更整潔更友好。
black - github
star 17.6k
可以說是最流行最多人使用的python格式化工具了,統一的格式化標準。傻瓜化的使用方式,極少的定制化選項(沒錯,開發(fā)者包括使用 black 的人都認為這是個優(yōu)勢)。
默認的 black 是將字符串格式化成用雙引號包含且不支持自定義,在連續(xù)的用戶抗議和開發(fā)組成員“吵”了近百樓,各種丟數據各種引經據典后,開發(fā)組成員才勉為其難給出了個不格式化字符串引號的選項。
總結:
autopep8 是剛開始學習 python 的人都被推薦的一個格式化工具,不幸的是它已經不適合當下了。較低的維護頻率,較低的社區(qū)活躍度,一大堆 issuse 未解決。都是我們放棄它的理由。
yapf 包含著 google 文化中的工程師極客精神,支持自定義配置是他的優(yōu)點。如果你對自己的代碼風格有硬性的要求,yapf 將是你不二的選擇。
black 秉承的是 "less is more" 的設計標準,開發(fā)組人員負責調研哪種格式化風格更適合pythonista的開發(fā)。允許我們自定義的余地較小,但對于我們來說,有人替我們考慮了哪種方式更好,躺平享受成果不失為一種最好的選擇。
對于我們團隊來說 black 是我們的選擇。 如果你也跟我們有一樣的選擇,那請往下繼續(xù)閱讀。
1.pip3.6 install black
2.選擇Preference--->Tools--->External Tools 進入到以下這個頁面(可能pycharm版本不同,有細小差別)


一般你只需要配置下Program和parmeters,
Program的環(huán)境配置:$PyInterpreterDirectory$/python
Paraments的配置:-m black $FilePath$
directory: $ProjectFileDir$
3.配置好后,在代碼區(qū)域按鼠標右鍵,選擇External Tools中的black。就可以啦。

autopep8,在python2版本上好用,但是autopep8本身在github上已經很久沒人維護了,black在python3上好用,有人維護,但不支持python2
有用請點贊哦,你的贊同是我更新的動力~
祝你學業(yè)有成~