開発者のあいだでとかく宗教戦争になりがちなテーマとして「コードのフォーマット」をどうすべきかという問題があります。括弧の位置、インデントの数、空行の入れ方、スペースの入れ方など、どのようなフォーマットがベストか議論しだすときりがありません。
実は数日前「Why I vertically align my code (and you should too!)」という垂直方向にコードを揃えることを推奨するブログ記事がRedditで取り上げられて議論を呼んでいました。
Linux Kernelのソースコードも
ブログ記事の主張をざっくりと要約すると、プログラムを書くよりも読む時間の方が多いのだから少しでも読みやすくするように努力し、垂直方向にインデントすべきという意見のようです。
しかも垂直方向にコードを揃えたソースコードの例として、Linux Kernelのソースコードを例として挙げていて、反対派の意見を封じ込めていました。
反対派の意見
その後、垂直方向に揃えることに反対する「Why he vertically aligns his code (And why you shouldn't)」のブログ記事が書かれ再度議論となりました。
こちらの主張はシンタックスハイライトをサポートした良いエディタさえあれば、垂直方向に揃っていなくても十分視認しやすいというものです(同時にモノスペースフォントではなくプロポーショナルフォントでも良いという主張も行っています)。
確かに上の画像のように変数と値がしっかり区別できるなら"="の位置がそろっていなくてもよいのかもしれません。
まとめ
結局どちらが良いのか、やはり個人の好みやプロジェクトごとの規約によるとしか言えない問題かもしれません。
個人的には垂直方向にソースコードを揃えるのは手間がかかりすぎるのでやっていないのですが、「Linux Kernelでもやっているから」という主張は説得力があると思いました(汗。
ちなみに、垂直方向にタブを揃える手間を改善するために「Elastic tabstops」というアイデアもあるそうで、ツールの補助が進化すれば「垂直方向揃え」が今より普及する可能性もあるかもしれません。