📑

私は思考停止するためにPrettierを使う

2024/04/01に公開

要約

「より良いフォーマット」を追求したくなる自分(あるいは人々)の衝動を合意のもと制圧するため、デフォルト設定の最新Prettierを使用しています。

もう少し長く

開発者として、私はコードのフォーマットにPrettierを使うようになりました。

しかし、Prettierを使う理由は、最高のフォーマットスタイルを獲得するためではありません。むしろ、コードフォーマットについての思考停止を強制できることにメリットを感じています。

整然とフォーマットされたコードは、コードベースの長期的な保守性に不可欠であることは明らかです。一貫性のあるフォーマットされたコードは、読みやすく、理解しやすく、(チーム開発であれば)共同作業しやすいものです。

しかし優位性が明らかである分、開発者はそこに多くのエネルギーを(必ずしも十分な正当化を経ることなく)割きがちであるとも感じます。

「最高の」あるいは「自分(たち)の」フォーマットスタイルを決定するプロセスは、コードベース自体に直接的な価値を付加するものではありません。インデントサイズ、行の長さ、中括弧の改行ルールなどは、いずれもコンパイルにより失われてしまうことが通常でしょう。その思考と議論には際限がないため、最終的にはコードの本来の目的からそれてしまう恐れがあります。

したがって「節度のあるフォーマット検証」そのものが一つのプロジェクトとなり、コスト観点でのマネジメントを必要とします。そのリソースを確保できるか否かが結論の分かれ目になると思います。

そのリソースを確保できない場合、ここでPrettierが光ります。あらかじめ「デフォルト設定の最新Prettierを採用する」と決意・合意することで、フォーマットについて考える時間がゼロになります。どのスタイルが良いかの議論や、さらに良いフォーマットを見つけ出そうとする努力はもう存在しません。シンプルにPrettierの一貫したフォーマットに従い、バージョンアップし続けるだけです。

Prettierはコードフォーマット決定において最終的な調停者となり、開発者にとって重要なこと… つまりコードの意味構造と機能に集中できるようにしてくれます。フォーマットに関する懸念や改善のアイデアは、Prettierのメンテナに任せることができます。

要約すると、私がPrettierを使うのは、そのフォーマットスタイルが最高で永遠に無謬だと確信しているからではありません。一貫したフォーマットスタイルを強制し、人間の思考を停止させてくれることを評価しているからです。

ref

この記事を書いたきっかけはこちらの記事です 🕵️‍♂️

https://zenn.dev/praha/articles/7ed629d0d9da53

Prettierスポンサーになるにはこちらから 🚀

https://github.com/sponsors/prettier

追記: ほどほどの範囲で深追いせず「よりよいフォーマット」を言語化できる人はすごいと思います。私が真似したら仕事せず一生フォーマット直してそう

Discussion