PrettierのtrailingCommaがAllのメリット

2023/07/11に公開

PrettierのtrailingCommaのデフォルトの設定が、Prettier3.0からallになりました。
そのメリットにGPT-4に聞いたのでメリットを書き残しておきます。

allでは、可能な限りの場所すべてに末尾のコンマを付けます。

末尾のコンマを使用すると、新しい要素の追加による差分が明確になり、バージョン管理システムで変更を追跡する際のノイズが減少します。また、末尾のコンマがあると新しい要素の追加が簡単になるという利点があります。

例えば、以下のような配列があるとします:

let arr = [
  "element1",
  "element2"
]

これに新たに "element3" を追加すると以下のようになります:

let arr = [
  "element1",
  "element2",
  "element3"
]

この場合、差分を見ると "element2" の行も変更されたと表示されます。なぜなら、その行の最後にコンマが追加されたからです。つまり、実際には "element2" 自体は変更されていないのに、行全体が変更されたと認識されてしまうわけです。

しかし、元々末尾にコンマがあった場合:

let arr = [
  "element1",
  "element2",
]

ここに "element3" を追加しても:

let arr = [
  "element1",
  "element2",
  "element3",
]

このとき、差分を見ると "element3" の行だけが新たに追加されたと認識されます。なぜなら、"element2" の行は既にコンマがあるため、その行自体に変更はないからです。

このように、末尾のコンマを使用すると、新しい要素の追加による差分が明確になり、バージョン管理システムで変更を追跡する際のノイズが減少します。また、末尾のコンマがあると新しい要素の追加が簡単になるという利点もあります。

Discussion