2021-01-09 PyCharm配置black,代碼格式化工具

前言

大家都懂自動格式化代碼的好處。

不需要再對著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版本不同,有細小差別)

image.png
image.png

一般你只需要配置下Program和parmeters,
Program的環(huán)境配置:$PyInterpreterDirectory$/python
Paraments的配置:-m black $FilePath$
directory: $ProjectFileDir$

3.配置好后,在代碼區(qū)域按鼠標右鍵,選擇External Tools中的black。就可以啦。

image.png

autopep8,在python2版本上好用,但是autopep8本身在github上已經很久沒人維護了,black在python3上好用,有人維護,但不支持python2

有用請點贊哦,你的贊同是我更新的動力~

祝你學業(yè)有成~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容