code formatter maintenability and next role 俺の勉強会#8 / fujitani sora
fujitani sora 2001 (25) x.com/sorafujitani github.com/sorafujitani sorafujitani.me
linter, formatterをよく開発している
なぜ code formatter が必要か By far the biggest reason for adopting Prettier is to stop all the on-going debates over styles. コードスタイルによる、人間の議論を終わらせること。 https://prettier.io/docs/why-prettier.html
code formatterは、 メンテナンスコストが高いツールだと考えている コードを見ることが減っていくであろうこれから、 ツールの価値はメンテナンスコストに見合うかどうか
メンテナンスコストが高い理由 · 1/2 不具合の影響が大きい コードを書き換えるリスクのあるツール。 不具合によって、ユーザーのコードを暗黙的に壊し得る。 git hookで自動実行されると、 不具合による変更に気づきにくいこともある。
メンテナンスコストが高い理由 · 2/2 変更要求の頻度が高い 対象 parser プログラミング言語 framework formatter自体 求められる対応 仕様変更、モダンなparserへの移行 新構文の追加・変更 latest、場合によってはnightlyへの対応 品質、パフォーマンス、optionの改善
LLMが出すコードは、
一定の整形がされている
LLMは、改行やインデントを含むコードを文字列として出力する。
1
"edits": [
2
{
3
"oldText": "function greet() {}",
4
"newText": "function greet() {\n\tconsole.log('Hello');\n}"
5
6
\n
}
]
は改行、\t はタブ(インデント)
メンテナンスコスト > formatterの仕事量 この状態に近づいているかもしれない formatterが不要になるわけではないと思う LLMだけでは、人間が意識しないようにするための 「信頼」をカバーしきれないだろう ただ、ツールを取り巻く前提が変化するごとに、 その価値も問われ直す必要がある AIも使いつつ、この前提を疑える人が、 今後のツールチェーンを作っていく人になるのかも
See you later 👋