人気の記事一覧

【IT】プログラミングのコードを書く時のタブvsスペース戦争がついに決着?!(’・-・)

1: 海江田三郎 ★ 2016/09/11(日) 16:01:37.37 ID:CAP_USER

http://www.gizmodo.jp/2016/09/tab-vs-space.html
http://www.gizmodo.jp/images/2016/09/160901coding2.jpgno title

http://www.gizmodo.jp/images/2016/09/160901coding3.jpgno title

ついにタブ派・スペース派戦争に軍配があがる!
プログラマたちの間で長いこと起こっているバトルがあります。
「コード内のインデントをタブでやるか、スペースを5回押すか」です。コーディングと無縁の人にはどっちでもいいじゃんな問題かもしれませんが、
プログラマたちにとっては白熱バトルな話題です。

タブかスペースでのインデントは、統一されていないとファイルを開くソフトウェアによってはインデントがぐちゃぐちゃになってしまうのです。
特に1つのプロジェクトを数人でやっている時は厄介です。この議論は長いことされているため、プ
ログラマ間では「タブ派」、「スペース派」なんていう区別まで生まれています。海外ドラマ「シリコンバレー」でもこの話題が登場しています。

ということで、Google(グーグル)のデベロッパーFelipe Hoffaが一体どっちがメジャーなインデント方法なのかを
なんと14のコンピュータ言語で書かれた10億個のファイルから解析してくれました。お疲れさまです。

Hoffaが使ったデータはBigQueryにあるGitHubファイル。そしてさすがデベロッパー、しっかりダブりがないことを確認。
あとは10行以下のコードは含めないのを条件にして解析したそうです。また1つのファイルでタブとスペースが混在していても、
各ファイルにつきタブvsスペースの投票は1票のみ。多く使われているほうが選ばれます。最後に上位40万個のレポジトリは、
2016年1月から5月までにGitHub上でつけられたスター数ランキング順に並んでいます。
はい、そして結果がこちら。

データから見て取れるとおり、「スペース派」の圧勝ですね。GitHubにある人気ファイルのほとんどは、
C言語以外のメジャーな言語では全部スペースが使われているのがわかります。長年おこなわれてきたタブとスペース
どっちが人気かっていう議論に終止符が打たれる解析結果となりました。
スペース派の人には、どんなハードウェアでもテキストビューアでもスペースなら間違いなく一緒じゃん! っていう当然の結果なのかもしれませんが、
タブ派の人にはタブを使うもっともな意見があるのかもしれません。タブ派のプログラマの方、反論お待ちしています!

2: 名刺は切らしておりまして 2016/09/11(日) 16:02:35.23 ID:1iZ+bZoj
IDE使ってればあんまり意識しなくね?

3: 名刺は切らしておりまして 2016/09/11(日) 16:06:07.13 ID:n5cG43tU
[tab]//[sp][sp]おれはどっちも使う派

5: 名刺は切らしておりまして 2016/09/11(日) 16:07:08.09 ID:AkeYcm42
スペース4つがやっぱ一番無難だわな

7: 名刺は切らしておりまして 2016/09/11(日) 16:07:34.19 ID:RYs4ygBM

>>1

tab派の俺、地味にショック。

8: 名刺は切らしておりまして 2016/09/11(日) 16:07:46.94 ID:Yo3ukac2
俺はTAB派だな。
TABならエディタの設定で2,4,8好きなインデントに変更できる。
それに制御コード一つで済むのでちょっとだけ省ファイルサイズ。

9: 名刺は切らしておりまして 2016/09/11(日) 16:08:08.05 ID:Tobj23+o
tabを押したらスペース4つ入る秀丸使いが通ります

10: 名刺は切らしておりまして 2016/09/11(日) 16:08:25.37 ID:SD8ZFGK1
ネストを多重に入れるとき
タブだと右寄りすぎるかもね。
それとも、その中身はユーザー関数として
一行にまとめるのがセオリーなんだろうか。

11: 名刺は切らしておりまして 2016/09/11(日) 16:08:33.18 ID:mzv+7wEF
学生の頃からインデントをTABキーでやるなんて一度もしたことないよ。

12: 名刺は切らしておりまして 2016/09/11(日) 16:08:57.69 ID:/hL2XUf9
入ったとこがスペースにしろってうるさかったからスペースにした(´・ω・`)

13: 名刺は切らしておりまして 2016/09/11(日) 16:08:57.86 ID:DISqeF8+
タブだな
Cから入ったからだろうけど

14: 名刺は切らしておりまして 2016/09/11(日) 16:10:15.39 ID:JNBrtNM3
Pythonとか言語がスペースを標準にしてるケースもあるからな
言語別に結果みたい

15: 名刺は切らしておりまして 2016/09/11(日) 16:11:17.54 ID:x9HBh+BP
タブはさらに内部で4タブ派8タブ派の争いと隠れ2タブ派みたいな邪教も
あるからな。
スペースならずれないので安心。
好きなのは4タブだけど不要な宗教論争を巻き起こさないようにスペース4つに1票だな。

16: 名刺は切らしておりまして 2016/09/11(日) 16:12:04.13 ID:YlovS2vc
タブ派が勝つと思っていたが残念だ

18: 名刺は切らしておりまして 2016/09/11(日) 16:13:00.97 ID:i+tDUgWU
まあ、そりゃそうだろうな
日頃目にするコードからしてもタブはレアになってきてる

20: 名刺は切らしておりまして 2016/09/11(日) 16:13:46.26 ID:a3LlezFX
昔、8~16bitパソコンの時代は、今みたいにリソースが使い放題じゃなかった時代だったから、
リソースを制限する意識を常に育成するためにも、
Cソースコードではタブ4で書いていた。
制御系みたいなROM空間がk~MByte、RAM空間はへたすると1kbyte未満、のような
世界では、「もったいない」精神は重要だった。
ま、制御系に一番近いC言語でTABの比率が高いのはそれが原因だろう。

21: 名刺は切らしておりまして 2016/09/11(日) 16:13:48.74 ID:wrujNrtl
エディタが自動でやればいいんだよ 下らんこと気にすんな

22: 名刺は切らしておりまして 2016/09/11(日) 16:13:54.55 ID:XNraO+Hf
Javaの標準コーディングスタイルってタブインデントじゃなかったっけ?

24: 名刺は切らしておりまして 2016/09/11(日) 16:14:33.32 ID:VW752IPZ
そりゃ github で調査したらそうなるだろ。
タブが8文字幅で表示されるし。変更は可能だけど手間がかかる。

27: 名刺は切らしておりまして 2016/09/11(日) 16:16:55.80 ID:7e/J4edH
Xcodeのデフォルトは昔タブだったがいつからかスペースに変わったな

29: 名刺は切らしておりまして 2016/09/11(日) 16:17:03.62 ID:XNraO+Hf
仕事ではその場に合わせて書くけど、個人的なコードはタブインデント。

30: 名刺は切らしておりまして 2016/09/11(日) 16:17:16.70 ID:mTYsGFjc

複数スペースをタブ文字で解決

なーんて話は現代では無意味だからな

31: 名刺は切らしておりまして 2016/09/11(日) 16:17:26.19 ID:rOVUrQKZ
スペースだとがっくりくる

38: 名刺は切らしておりまして 2016/09/11(日) 16:19:01.41 ID:kjhz8O7p
自動整形があるから気にしない。どっちでもいいな。

39: 名刺は切らしておりまして 2016/09/11(日) 16:19:04.41 ID:XjVFGUC7
TabかSpaceで統一してないとIDEで整形掛けただけで差分が沢山発生するから困る

41: 名刺は切らしておりまして 2016/09/11(日) 16:19:14.35 ID:Dj61Dmqu
そもそもタブがスペース4個分に統一されてれば何の問題もないのよ
わざわざMSがスペース8個分を混在させてるから変になる
全ての悪の元凶はマイクソソフト

42: 名刺は切らしておりまして 2016/09/11(日) 16:19:43.28 ID:7e/J4edH
個人的にはタブが好きなんだけど
1ステートメントを複数行で書く時に位置合わせでどうせスペース使うでしょって事になって

43: 名刺は切らしておりまして 2016/09/11(日) 16:20:25.65 ID:XNraO+Hf
行頭のTABはいいけど、行の途中でTABいれてるのはイラッとする。

45: 名刺は切らしておりまして 2016/09/11(日) 16:21:35.42 ID:Sqs+5UzW
スペース・キーがそれだけ早く壊れるよな

46: 名刺は切らしておりまして 2016/09/11(日) 16:21:51.28 ID:EFSf38Q9

スペース派。タブだとgithubにあげて確認し直す時ずれてしまう。

エディタによってタブサイズも変更されるし整形が乱れる。

47: 名刺は切らしておりまして 2016/09/11(日) 16:22:12.25 ID:PAHQ9PyY
保存するときどうせスペースに変換されるし

48: 名刺は切らしておりまして 2016/09/11(日) 16:22:33.54 ID:Kz97DbEb
=やコードの右に書くコメントを揃えるのにタブを使ってるから
統一する為に行頭もタブ使ってる

49: 名刺は切らしておりまして 2016/09/11(日) 16:22:40.40 ID:HVI1uWMh
どうせコミットする前にフォーマットかけるから関係ない

53: 名刺は切らしておりまして 2016/09/11(日) 16:23:58.51 ID:aYMDNlMP

タブスペース戦争なんてくだらない

4タブ8タブ戦争だろ

54: 名刺は切らしておりまして 2016/09/11(日) 16:24:31.56 ID:SIyPkQSC
そういや今の現場ではコードチェッカでスペース変換されてるな
でもスペース数が4でなく8なのが気に食わんが

55: 名刺は切らしておりまして 2016/09/11(日) 16:25:26.18 ID:1S9FrFc3
TABしか使わないわ。
エディタはメモ帳だし、スペース何回も押すとか嫌だし。
言語はPython。
IT土方ではないし、他人といっしょにコード書かないからね。

57: 名刺は切らしておりまして 2016/09/11(日) 16:26:44.12 ID:ZQrU1pHp
ソースコードでもファイルサイズはできるだけ小さくしたい時代もあったし
ちょっと昔ならTAB派が多かったんではないかな

60: 名刺は切らしておりまして 2016/09/11(日) 16:27:31.97 ID:OFMmPcHV
オレはタブを使ってるの読みにくくていやだ
あれが分かりやすいってのが分らん
スペース一個くらいがちょうどいい長さ

65: 名刺は切らしておりまして 2016/09/11(日) 16:31:38.31 ID:M2ZbAjtd
やっぱスペースだよな

66: 名刺は切らしておりまして 2016/09/11(日) 16:31:41.57 ID:/0pI3CAE
cやってたからタブ派だったけどいつの間にかスペースになったな
ていうかタブがスペース変換されてるんだけどね

68: 在日米国民 2016/09/11(日) 16:32:50.32 ID:h1cGe7PG
多重スペースはスペース打ち込みで打ち漏れしてもわかりにくいし、
毎度やる度に時間的ロスが発生する。
デバッグすら時間的に無駄だと考える企業とすれば、
そういうロスに伴う納期延滞の問題で文句を言うだろう。
デバックする時間すら削られないな。
その分、タブは一度の入力で済むし、
空白が広いから打ち漏れしたことにも気づける。
プロのプログラマーならタブを使え。

69: 名刺は切らしておりまして 2016/09/11(日) 16:33:19.78 ID:xGY/fyYv
行頭のインデントのみタブ、その他はすべてスペース。

71: 名刺は切らしておりまして 2016/09/11(日) 16:34:43.50 ID:bLQCrPon
インデントはtabで、調整は空白で
個人の見易さはtabのサイズで設定すればよい

72: 名刺は切らしておりまして 2016/09/11(日) 16:34:52.15 ID:1e/u44mL
タブならキー一つでいいじゃん
スペース数回押すなんて面倒じゃん
効率悪くね?
タブなら後から設定で広げたり狭めたり簡単じゃん

73: 在日米国民 2016/09/11(日) 16:35:14.39 ID:h1cGe7PG
多重スペースはID10Tエラーに直結する。

75: 名刺は切らしておりまして 2016/09/11(日) 16:38:12.92 ID:XLFIQ9Wn
ごめんなさい
タブと空白を混ぜてる気がする
これからは統一するようにする

79: 名刺は切らしておりまして 2016/09/11(日) 16:39:26.07 ID:9FcLonGS
将来も含めて、エンコーディングの事考えると無難にスペースに行き着く

80: 名刺は切らしておりまして 2016/09/11(日) 16:39:33.50 ID:cf8kGJ3y
COBOL,FORTRAN「俺らの勝利だな (`・ω・´)キリッ」

81: 名刺は切らしておりまして 2016/09/11(日) 16:40:04.17 ID:AsSkrpRj
今時20年以上前からタブはスペースに置き換えてくれるんだぜ
なんでタブじゃなくスペースが多いかっていうと、クソビュワーが1タブを2スペースにしたり4スペースにしたり8スペースにしたりクソ仕様だからスペースで書く、正確にはスペースに変換して公開するんだぜ

引用元:http://www.logsoku.com/r/2ch.sc/bizplus/1473577297/