生きることは簡単です

日々細々と生きています

値代入時のイコールのインデントを揃える派

複数行に渡り値の代入を行う際、ガタガタになりがちなイコールのインデント。

double price = 100;
int productNo = 1;
string productName = "Drink"
DateTime buyYmd = new DateTime(2021, 1, 1)

エンティティフレームワークなんかを使ってると、数十行に渡ってカラムに値を代入することが多いんですよ。カラム名も長さがマチマチなので、結構見た目がガタガタになって見る気が失せるんですよね。

可読性はコードを書く上で大切だと説かれてますが、こういうところは個人の好みが出るようで、あんまりイコールのインデントを揃えている人を見たことがない。おそらくですが、手間の割にリターンがあまり大きくないからだと思います。せいぜいちょっと見やすくなる程度で、省いたところで大打撃を受けることはないからだと思います。また、一括で揃えるような自動補完的な機能がVisualStudioに備わってないからってのもあると思います。波かっこなんかはエンターを叩くだけで適したインデントで改行されますが、ああいう便利機能がないのも大きいかと(少なくとも私は知らないです)

私は断然揃える派です。昔読んだリーダブルコードに「イコールのインデントも揃えるとイイネ!」みたいなことが書いてあって、それをマネし始めたら板についてきた感じです。

double price     = 100;
int productNo     = 1;
string productName   = "Drink"
DateTime buyYmd      = new DateTime(2021, 1, 1)

ただ、VisualStudioを使っていると、インデントを揃えるために打ったスペースが強制的に削除されることがあるんですよ。
主にセミコロンを打った時ですかね。Ctrl+Zで戻すとインデントだけもとに戻るんですが、いちいちやるのは結構めんどい。
調べてみるとスペースの自動削除を抑止する機能がついているらしい。
www.ipentec.com
上記のサイトのVsiualStudioは結構古いですが、同じような操作で機能をONにできます。
ただ、VisualStudio2019の場合、[行間]という項目は存在せず、[スペース]という項目の中に該当の機能が入っています。
この機能をONにすることで、せっかく整えたインデントが何かの拍子に吹き飛ぶ心配をしなくて済むわけですね。ただし、自分以外の第三者ソースコードに手を入れた際、ほぼ確実にインデントがぶっ壊れた状態でプッシュされるんですな、これが。デフォで勝手にインデントが削除されるから、まあ仕方ないとは思うんですけどね...。せっかくきれいになっているのであれば、Ctrl+Zのワンプッシュで綺麗な状態を維持し続けてほしいんですが、まあ叶わぬ願いですな。