https://saponote.hatenablog.com/entry/2018/11/15/120000
スペース派
利用するキャラクタを、インデントはspace、位置揃えもspaceで行う派閥。
利用するキャラクタに疑いの余地がない。
インデント位置が3文字や5文字など微妙にずれうる。(インデントと位置揃えが混在するとそれが発生しやすい)
入力できない環境が無い。Webエディタやスマホ入力など。(コピペ入力を駆使すれば、tabも入力できないことはないが……)
function f() { __if(condition1_&& _____condition2)_{ ____doSomething();______//_comment1 ____doEtc();____________//_comment2 __} }
インデントタブ派
利用するキャラクタを、インデントはtab、位置揃えはspaceで行う派閥。
インデント位置が微妙にずれることが物理的にありえない。
「エディタ設定によって位置揃えが崩れる」こともあり得ない。
インデントはtabを使い、位置揃えで空白を開けるときはspaceを使う……を徹底することは困難で、つい文末に空白を開けるときもtabキーで入力してしまう。
結果、後述する「位置揃えタブ派」になってしまいがち。
tab文字を入力できるエディタ設定にしているということは、位置合わせはスペースキー連打せねばならないということであり、タブ派がたまに行う「(エディタの支援があっても)タブの方がスペースに対してキーを押す回数が少ない」という主張はこれに対しては言えない。
tabインデントをspaceに変換することは常に成功するが、spaceインデントからtabインデントへの変換は失敗することがある。(行頭のどの位置までがインデントのためのspaceで、どの位置からが位置ぞろえのためのspaceか単純に判断できないため)
function f() { >-if(condition1_&& >-___condition2)_{ >->-doSomething();______//_comment1 >->-doEtc();____________//_comment2 >-} }
位置揃えタブ派
利用するキャラクタを、インデントはtab、位置揃えもtabで行う派閥。
ただしtabだけでは揃わない位置のためにspaceも混ぜざるを得ない。
スペース派が攻撃する「エディタ設定によって位置揃えが崩れる」タブ利用方法であり、欠点を抱えていることは否定できない。
function f() { >-if(condition1 && >-___condition2) { >->-doSomething();>->->-// comment1 >->-doEtc();>->->->->->-// comment2 >-} }
評価
正しく編集されるならば閲覧の優位性は、インデントタブ派>スペース派>位置揃えタブ派。
正しく編集することの難易度は、スペース派=位置揃えタブ派>>インデントタブ派。