t-hom’s diary

主にVBAネタを扱っているブログ…とも言えなくなってきたこの頃。

プログラミング あなたは何タブ派? そもそもTabキーとは。

多くのテキストエディタはタブキーを押すと標準では半角スペース8個分の空白が確保される。これを略して8タブという。
しかしプログラミングでインデントとして使用するタブは要は段差が確認できればそれで十分なので、8タブだとブロック構文がネストしたときにコードが画面の右端に収まらないことが多い。

ちなみに私は4タブ派である。初期で4タブにしといてほしい。

私が使用しているvimエディタでは、_vimrcにこのように設定することで4タブになる。

:set tabstop=4
:set shiftwidth=4
:set expandtab

1行目は単純にタブ幅
2行目は自動インデント時のタブ幅
3行目はタブをスペースに置き換える


さて、なんでエディタの初期設定が8タブなんだろうか。

気になって調べてみたが、検索ワードが悪いのか、プログラミングで8タブを推奨するような記事が見当たらない。
じゃあなんでエディタの標準で8タブを推奨しているのだろうか。

で、タブタブ言ってるけど、そもそもTabってなんなのってとこから調べてみた。

これはWikipediaが詳しい。
タブキー - Wikipedia

'tab'は'tabulator'の略でタイプライターにおける図表作成機能を指した。

tabulator。

タビュレーター=図表作成者

ふむふむ。

元の動詞 tabulateをWeblioで調べてみると、「表にする」とある。


ということは、単にインデントに便利だからプログラマーが使い始めただけで、もともとは不揃いのデータ幅を揃えるキーということか。
Excelが存在しなかった時代は、テキストデータで表を作るしかなかったので、タブキーが重宝されたのだと思う。
※当時を知らないのであくまで推測です。

例えば、こういう表をメモ帳に転機してみる。

1 50 100
40000 3000 12
2500 2 1

スペースだとそれぞれ数がバラバラになるが、タブだと1個で8桁目の基準線までインデントできる。
結果、間にタブを入れるだけでそろう。
f:id:t-hom:20151007203337p:plain

これが4タブだと。。

f:id:t-hom:20151007203641p:plain
飛びぬけてしまって、揃わない。

したがって、本来の意味のタブであれば、8タブくらいが丁度良い。

しかしプログラミングで8タブはコードが横に長くなって画面に収まりきらない可能性があるのでお勧めしない。
2タブというのも慣れないので気持ち悪いが、要はブロックの変わり目がはっきり認知できる落差があれば何タブでも良い。
プロジェクトによっては、3タブ推奨なんてのもあるらしい。

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。