インデントはTAB派

どうも今時は空白派の方が多いようだ。
なんのメリットがあるのかわからん。

TABの方がソースサイズが小さくなるというのは置いといたとして(今時そんなことはメリットにはなり得ないだろう)、人によって好みの違うインデント幅というのをTABという環境依存の制御コードに割り当てるのは理にかなっていると思うのだが。

たかが好みとはいえ、空白2つでインデントしているソースコードなんて個人的には読むに耐えない。(そういったコードはだいたいリファクタリングが必要と感じるほどネストが深い)

よく「インデントにTABを使うとデメリットがある」と主張する人を見かけるが、そんなものはない。おそらくそういう人って、位置揃えとインデントをごっちゃにしてるんだろうな。インデントはプログラムの論理構造を表すための字下げであって、位置揃えにTABを使うべきではない。

また、Python3から強制されているように、インデントに「空白とTABを混在させてはならない」。言語による定めがなかったとしても、これをやってしまうとTAB幅によってレイアウトが崩れてしまうからである。

この2つを守っている限り、TABを使うことのデメリットなんて存在しないように思うのだが。むしろ、自分の好きなインデント幅でソースコードを読むことができるし、打ち間違えた時に何回もバックスペースしなくて済むし、TABを空白n個に置き換えるなんていうエディターの設定や入力ショートカットを調べなくて済むではないか。

  • インデントはTAB
  • 位置揃えは半角スペース
  • TAB幅は開発者の好みで


このルールが一番好き。
今のところ問題が起きたことはない。

まあ、実際どうするかはプロジェクトリーダーがコーディング規約で決めれば良いことだが、混在だけはダメだ、絶対に。