2011-07-25 9 views
2

Rubyコミュニティでは、「みんな」はインデント用にスペース(ほとんど2つのスペース)を使用しています。私は4つのスペースのインデントレベルを好みますので、代わりにタブを使用します。私はタブが素晴らしいと思うのは、彼らがあなたの好みのインデントレベルをエディタに表示させるからです。 2つのスペースのインデントレベルで自分のコードを読みたい人は、ファイルを変更せずに簡単に行うことができます。インデントにタブを使用しないのはなぜですか?

しかし、はっきり私はここではっきりわかりません。なぜなら、誰もインデントにタブを使用していないからです。たとえば、these guidelinesは「タブとスペースを混在させる練習が含まれているので」タブを使用しないことをお勧めします(?)私は一生のうちに一度もそのことをしたことは思い出せません。

他に誰かがスペースのために良い引数を持っていますか?誰もがそれらを使用しているので、そこにある必要があります。

+0

質問はプログラミングの問題を中心にしているのではなく、一般的にプログラミングしているので、私たちはプログラマーのQ&Aサイトでこの問題を解決するつもりです。彼らはもっとうまく答えて...そしてワッフルとユニコーンについて議論します。空腹だと思っています... –

+0

'make files'を書いたとき、タブとスペースは恐ろしいですが、それはルビーとほとんど関係がありません:) –

+1

これはプログラミングの"聖戦 "科目の1つです。対emacs)。タブとスペースの「正しい」答えはありません。実際、それらは唯一の答えでもありません。例えば、http://en.wikipedia.org/wiki/Elastic_tabstop – RHSeeger

答えて

2

あなたはこのような何かをしたい場合は、タブとスペースの両方を必要とする:

def foo: 
    bar(some, long, argument, list, 
     continued, on, another, line) 

あなたが「バー」の行の先頭にタブを使用して、次の行の先頭に別のことができます引き数が並んでいることを確認するには、4つのスペースを続けなければなりません(タブを使用した場合、タブの幅は変わりません)。これは完全に機能しますが、タブとスペースを混在させると、同じファイルに複数のインデントが混在するのを恐れ、頻繁にスペースのみで標準化することにします。

多くのエディタでは、oncesに4つのスペースを挿入しながら入力タブを続け、タブを入力したようにバックスペースを処理するので、使い慣れた方法で動作します。

+0

私は自分自身でそれに遭遇していないが、私は問題を参照してください。行が長すぎると私の編集者は私のための調整をします(あなたがやったように私がそれを壊さない限り)。 4つのスペースとタブはオプションではないと思います。誰かがインデントレベルに不満を持っているからです。私はタブで留まるか、私は好きではない2つのスペースを使用する必要があります。 – user544941

+0

@ user544941:タブはさまざまなエディタでさまざまなサイズで表示されるということです。したがって、3行目の括弧に並ばせようとしている場合は、それが他の誰かの設定で動作するという保証はありません。 – naught101

関連する問題