2011/12/03

[無駄話]ハードTABは4か8か

ハードTAB、文字コード0x09。
私はソースを書くとき、インデントをTABキーを使って入れる。
うちのテキストエディタは、TABキーはそのまま0x09が入るようにしている。
その設定は、ソースコードは4文字、それ以外は8文字にしている。

Linuxの場合、2文字インデントが結構多い。
2文字インデントが4つになると、ハードTABになってたりするので、テキストエディタで見るとインデントが崩れてしまう。
まあ、設定を変更すればいいんだけど、どういう設定の人が多いのかは気になる。
私の予想では、こんな感じではなかろうか。
  • ハードTABは4文字で、インデントはハードTABのみ
  • ハードTABは8文字で、インデントはハードTABのみ
  • ハードTABは8文字で、インデントは4文字。2インデントでハードTAB1つ。
  • ハードTABは8文字で、インデントは2文字。4インデントでハードTAB1つ。
  • ハードTABは使わず、インデントはスペースのみ。
つまりまあ、スペース文字を混在させるか否か、というところだ。
「この設定はだめだ」みたいな狭量なことをいうつもりはないのだが、バラバラなのも困るような気がする。
気がするのだが、何十年もこんな状況が続いているのだから、そんなに困ってないのかも。

困るというか気になるのは、自動的にインデントを設定してくれるエディタだ。
親切なのはいいんだけど、なんでこの位置なんだろう?と疑問に思うことがしばしばあるのだ。
長いものに巻かれるってわけでもないが、人に不審な思いはさせたくないので、一般ルールがあるならあわせてもよいと思っている。
ありがちなのは、ifの条件文中で改行したい場合。
私は4文字インデントなので、こういう場合は2文字のインデントにして区別するようにしている。
    if(aaa && bbb && ccc
      && ddd && eee && fff) {
        // todo ......
    }
あとは、引数の途中で改行したい場合。
このときは、ばさっとずらす。
 function(aaa, bbb, ccc,
    ddd, eee, fff);
まあ、何が正しいってのはない世界だけど、自分ルールを持っていないと困るからねぇ。
自分ルールがあると、仕事でコーディング規約を与えられたときに反発してしまうという弊害があるが、そこはご愛敬だ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。