タブとスペースの話

ところで、DamianセンセのPerl Best Practiceの影響なのか、最近のPerl界隈では「タブは使うな、スペース使え」と盛んに言われていますが、あえて断言しときます。こんなモンはバッドノウハウなんであって、ベストプラクティスでもなんでもない、と。

たしかにタブ幅8は広すぎて読みづらいかもしれない。けれど、広すぎるならエディタの設定を変えてタブ幅を縮めればいいだけの話。まともなエディタでこの設定ができないものなんてありゃしませんし、IDE付属のエディタでさえそのくらいのことはできるのです。

ところが、エディタの設定を変えるなんて思いもよらなかった(あるいは、どうせmanとかではタブ幅8になっちゃうんだからタブなんていじっても意味がないと思った)連中が、タブ幅は8固定と決めつけて、最初のインデントはスペース4個で、次のインデントはタブ1個、その次はタブ1個にスペース4個……なんてやり始めたものだからたまらない。

おまいらタブの意味わかっとるのかと嘆いたところで、そんな駄目コードが量産されてしまってはおいそれとタブ幅をいじるわけにもいかず(なにせタブ幅8が大前提だから、タブ幅変えた途端にインデントが崩れまくってしまうんである)、スペース前提の人たちにしてみるとタブが混じった途端カーソルがポンと飛んでしまってややこしい。かといって素のままタブ8だとスカスカすぎる――なんてことになって、それくらいならいっそタブなんてやめてしまって、全部スペースにしよう、というのがDamianセンセたちが言っている「タブは使うな、スペース使え」の意味。

でもねえ、ちょっと気の利いたエディタなら、たとえばTabキーと何かの組み合わせでブロック全体のインデントをタブひとつ分増やす/減らすなんて機能は当たり前のようについている。もちろん空白とタブの切り替えなんて機能も同じくらい当然のようについているものだからそんなに実害があるわけでもないんだけれど、タイプライターの時代からあった機能を間違って使ったあげく、見づらくなったから打鍵数増やして全部スペース入れましょ、だなんて、退歩以外の何ものでもないんじゃないかしら。

ま、それでも流行のバッドノウハウだから仕方ないかと思って最近はスペースを書くようにしてますけどね、タブを使うなという言葉を見るたびに「アホらし」と苦笑いなのでありますよ。