📚
遅ればせ: linter/formatter理解メモ
リンターとフォーマッタの違いについて、、理解が進んだのでメモ。
超恥ずかしいことに、あんまり具体的にイメージできずエンジニア6年間やってました。
Python環境での整理です。
リンター
「その書き方だと動かない可能性がある」とか「ルール違反してるコードがある」とかを
動かす前にチェックする。
if文書きすぎてネストが深くなりすぎてるよ〜〜とかをチェックするのもこっち。
これらを「静的解析」って言うらしいけど、「静的解析」っていう単語が直感的じゃなくてよくわかんないのであんまり好きではない...
例えばこんなことをする⇩
- 未使用のimport削除
- import並び替え
- 不要な変数削除
pythonで利用されるruffのサイト⇩
フォーマッタ
「見た目」をチェックする。ただただ読みやすくするのみ。
実行結果とは関係ないはず
- インデント、空白
- 行の長さ
- クウォートの統一
- カンマの位置
- 括弧の配置
pythonで利用されるruffのサイト⇩
ちなみに
元Kotlin民なのですが、detektとktlintの使い分け、棲み分けが一生わからない...
両方リンターなはずだけど、ktlintだけお世話になっていた
まとめ
ここに全部書いてあった。。⇩
Discussion