結構エンジニアの中で話題になること。 インデントはタブかスペースか、という問題。 自分はスペース派です。 なぜスペースを使うかというと、次の理由から。

1.テキストエリアにタブを打つと違うウィンドウへフォーカスされる

これはもうブラウザの制約です。 わざわざこの機能を握りつぶすようなエクステンションでも入れない限り回避できません。 が、そこまでするつもりは無いし、違うブラウザに切り替えたら動かないとか、 そもそもオプション画面とかブラウザ以外の場所でこういう挙動になることもあるし。 だったらスペースでいいじゃん、と。

2.タブがスペース8で表示されたりする

ブラウザとかの問題で、タブがスペース8として表示されたりすることがあります。 エディタなら自分の好きなようにいじれるけど、webアプリとかじゃそうもいかないし。 いちいち環境に左右されるようなものは使いたくないのです。

3.スマホから打てない

これ個人的には超重要。 ちょっとした数行のコード打ちたくても、スマホじゃタブが打てなくてスペースでいいや、となる。 他のテキストからわざわざ引っ張るなんて面倒だしね。 デフォルトの状態でも普通に使える、そういうの考えるとスペースが一番なのです。

4.phpやJavaScriptの推奨がスペースだから

個人的によく書くphpやJS、cssがスペースを推奨しているというのもでかい。 わざわざ推奨を外すようなこともする必要無いでしょ。 ちなみにgoはタブが推奨されているから嫌いなのです。

まとめ

というわけでスペースのほうが好きだし、自分で書くならスペースです。 プロジェクトがタブ使っているなら仕方ないので合わせますが。 残念ですがタブ派のおにゃのことは仲良くなれないようです、ごめんなさい。