[ Programming ] tab と space とインデント
annDamianセンセのPerl Best Practiceの影響なのか、 最近のPerl界隈では「タブは使うな、スペース使え」と盛んに言われていますが、 あえて断言しときます。こんなモンはバッドノウハウなんであって、 ベストプラクティスでもなんでもない
わたしもその通りだと思う。よほどできの悪いエディタでもない限り、 tab 幅は変更できる。tab 幅は固定ではなくて変更できるものと考えるべきだ。
たぶん、tab 幅 = 8固定なんて考えた奴らは Windows 標準付属のメモ帳みたいな そーとーお粗末なエディタしか使ったことがないか、エディタのマニュアルもろくに 読んでいない間抜けなんだろう。そんな奴らが決めたインデントルールなんて 見るに耐えない。実践するなんてもってのほかだ。
最初のインデントはスペース4個で、次のインデントはタブ1個、 その次はタブ1個にスペース4個……って、なんでこんな面倒なルール覚えなきゃならないのさ。 こんなもん覚えるくらいなら Win32 API の仕様を覚える方がまだましさ。 いうまでもないことだと思うけど、ルールは少なければ少ないほど良い。 できるだけ単純で、必要最低限にするべきだ。
tab をポンと押せばいいだけのところを、 なんで Space をガチャガチャと 4 回も押さなきゃいけないのさ。 それに Space で決め打ちしてしまうと柔軟性が失われるじゃない。 こんなダメルールが最近の流行らしいけど、率直に言って馬鹿としか思えない。 わたしはこんなルール実践する気にはならないね。
ちなみにわたしは自分のコードを見ると行頭のインデントは tab を使って、 そのほかでは Space を使っているみたい。tab 幅は状況によって変更。 通常は 4 だけど HTML の Table を書いていてインデントが深くなってしまったときとかは タブ幅 2 に変えてる。こうやって、状況に合わせてインデント幅を変えられることが tab の利点だと思うのだ。
"There are more than one way to do it."
tab が使われているコードを見ると狂ったように「スペースを使え」と叫ぶ人たちは もう一度この言葉を頭に叩き込みなおした方がいいよ。
| 固定リンク | コメント (0) | トラックバック (0)