タブとスペースのベストプラクティス(平和主義)

自分がソースを書くときは、入力するときはもちろん4桁ごとのタブを使うけど、
ファイルに保存する前に全て半角スペースに変換している。
秀丸エディタでは、CTRL+A → ALT+E → V → S とするとスペースに変換できる。
たぶん、0.2 秒くらい。(計ってないけど)
これだけで、diff やメール引用で行頭に文字がついてもインデントが崩れないし、
そのほかいろいろ後で悩まなくて済む。

他の人が書いたソース(または自分が大昔に書いたソース)を書き換えるときは、
タブ・スペースの区別などは尊重して変更せずに、ただし自分で書き換えた部分だけ
適宜オレオレルールでインデントしてしまう。(むしろ全くインデントしないことも)
周囲とインデントルールが違うことで、ソースの書き換わった箇所も分かりやすいでしょ?
本来のメンテナさんがインデントを直してくれたら、チェック完了・安定動作となる。

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

http://la.ma.la/blog/diary_200604300111.htm
自分は行頭はタブで揃えて、それ以降の文字揃えが必要な場合は
スペースを使うようにしている。で、萌ディタでタブ幅を動的に切り替えられるようにしている。

http://blog.livedoor.jp/dankogai/archives/50475459.html
ただし、人にpatchを送るときには、必ず
perl -i.bak -ple 's{^(\t+)}{q( ) x (length($1)*4)}e' old.pl
としていただきたい。


タブが2桁とか8桁で書かれたソースは僕の環境では読みにくくなるので、好きじゃない。
ma.la さんの方法は賢いけど、統一するのが手間だなあ。
Dan さんの方法は確実。同じ操作が秀丸エディタなら 0.2 秒。w

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

Gimite
2006年05月01日 09:53
秀丸は「ファイルタイプ別の設定→保存・読み込み→保存するときの変換」でタブ→空白の自動変換を指定できますよ。
2006年05月01日 16:44
>Gimiteさん
コメントありがとうございます。その機能は知りませんでした。
ただ、ファイルタイプごとの指定だと、同じ拡張子なら全てのファイルで強制変換されちゃうんですよね。 それはちょっと困ることもあり。 保存のたびに毎回、0.2秒を費やしています。

この記事へのトラックバック