タブとスペースのような古くからの話題もありますが、今回は空白の入れ方に関する質問です。
たとえば、以下の例のようなコードがあるとします。
すると、from や等号を同じ列に揃えて書く派と、そうでない派がいます。
// Case A.
import potato from 'potato';
import sweetpotato from 'sweetpotato';
const red = 0xff0000;
const orange = 0xff8000;
// Case B.
import potato from 'potato';
import sweetpotato from 'sweetpotato';
const red = 0xff0000;
const orange = 0xff8000;
この2つのケースのうち、どちらが好きかコメントで教えてください。
何より、こうしたスタイルを個別に指す呼び名があるのか気になります。
- Aを好む。
- Bを好む。
- Xを好むが、会社ではYを使う(...)
10件のコメント
私はBが好みで、会社でもBを使っています。
主にAを好みます。
ただし、たまに10行以上の定数や変数を定義するときに、ごくまれに使います。
私はAですね。Bは慣例として決まっているのでなければ、協業するときに不便なんですよね。
Aのスタイルを好みます。
他の人が書いたコードで、ときどきBスタイルで書かれたものを見かけるのですが、そのたびに可読性が高く見えて印象的ではあったものの、Bで書くとフォーマッタやリンタが大騒ぎするので、ほとんど一度もBで書いたことはありません。少し書くのも面倒ですし。
たまにBスタイルにしますが、タブストップの位置に合わせてコードを書いています。
diffが別の行に不要に波及してしまう欠点があるので、あまり好きではないですね。
もちろん white space ignore diff を見ればいいのですが、ほかの作業者やコードレビュー担当者にもそれを強いるわけにはいかないので…。
ほとんどの場合、Aを好みます。
私がコードを書きながら、Bのようなケースのほうが良いと感じたことがちょうど1回あります。外部DLLとの連携が必要なコードだったのですが、そのDLLで使用する各種定数値を定義する部分で、可読性のためにBのような方式を使っていました。
もちろん、この連携コードはあまり変更されることがなかったため、一度書いてしまえば触る機会がなかったという点も、Bのような方式を選べた理由の一つです。頻繁に変わるコードだったなら、できるだけAの方式を貫いていたでしょう。
言語ごとのフォーマッタによる自動整形が好みです!
(普段は A ですが、golang の
gofmtは B にしてくれていた気がします。)Aです!
Bスタイルは専用のフォーマッタがないと管理しづらいですし、フォントによっては揃えも崩れたりするので…