方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩
我們現在用 yapf + pyproject.toml 設定
yipo🌿
方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩ : 我想聽聽使用經驗,身為 Python 初心者,目前有選擇困難… linter: pylint/pep8/flake8, formater: autopep8/yapf/Black, import sorting: isort,除了這些還有嗎?
方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩
linter 我自己用 flake8,團隊沒在用
formatter 用 yapf,他就可以選 pep8 當基礎再做調整,之前在選擇的時候同事一開始選 Black,但是 Black 能夠調整的 format 太少了 (有夠機車),所以我就推 yapf
import sorting 就是 isort
方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩
可是認真說... 這些 formater 還是有一些你期望可以達到的事情做不到,沒有像 C/C++ 的 formater 那麼好用的感覺?
yipo🌿
方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩ : C/C++ 的 formater,我之前都是用 VC++ 內建,比如有什麼事情做不到?
yipo🌿
另外就是設定檔的問題,我們也是把每行長度限定為 100 字元,但每款能看的設定似乎不太一致… (希望是能直接看 repo 內的設定,如 EditorConfig,以免手動調整。
方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩
每行長度應該可以把 config 放在 repo 裡吧?
我們就是放 pyproject.toml。
yipo🌿
方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩ : 我們已經有 .editorconfig 和 setup.cfg 了,好多好麻煩… (app-die)
方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩
pyproject.toml 打從一誕生,就能夠被用作為 Python 專案所使用套件(工具)的設定檔(前提是工具本身必須支援)。
yapf, black 跟 isort 都有支援
不然就要找找看有什麼可以讓你比較好操作的方法了?
yipo🌿
yipo🌿
因為專案目前已經有現有的 setup.cfg,而大家也都有支援,所以就沿用了。未來再想要不要導入 pyproject.toml…
方格子🎲⚀⚁⚂⚃⚄⚅▤▥▦▧▩
(p-rock)
載入新的回覆