回答編集履歴
9
YAMLとPythonの情報に関して間違いがあったので修正
answer
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
■タブを使った場合に発生するデメリット
|
4
4
|
・**Excelにコードを張り付けることを要求された場合に手間取る**
|
5
|
-
・YAMLやPythonでは、タブを使うと問題がおきることがある
|
6
5
|
・ドットインパクトプリンタでずれて印刷される場合がある
|
7
6
|
・ホストのCRT端末や初期のPC用エディタや、cat, less, vimなどだと、タブを使うとすぐに右端に達する
|
8
7
|
→タブは8文字固定で画面幅は72桁しか表示できないため
|
@@ -22,3 +21,8 @@
|
|
22
21
|
※タブ否定派の方から**「行中の位置そろえや装飾にタブを使った場合に、別の人が観た際に作成者の意図とずれる」**という意見を何度かいただきました。タブ肯定派の私から見てもそれに関しては正しいと思います。「行中の位置そろえや装飾にタブを使う」ことは避けるべきだと思います。
|
23
22
|
|
24
23
|
ですが、行中に使うべきではないという話と、**「ネストの階層構造を表現するために行頭に非表示文字を挿入し字下げすること」**は区別して考えるべきだと思います。
|
24
|
+
|
25
|
+
■その他
|
26
|
+
・YAMLではタブは使えない
|
27
|
+
・Pythonでは、タブを使っても特に問題はない。ただし、半角空白と混在状態になると正常に動作しなくなる
|
28
|
+
|
8
追記
answer
CHANGED
@@ -17,3 +17,8 @@
|
|
17
17
|
|
18
18
|
・2文字で表示されることを前提としてコードを書いて、見た人が8文字で表示すると80桁を超えやすくなる
|
19
19
|
→「タブとスペースの比較」では無く「2文字と8文字の比較」をしており本質問の意図と異なります。文字数対決は別の機会に行っていただきたいです
|
20
|
+
|
21
|
+
|
22
|
+
※タブ否定派の方から**「行中の位置そろえや装飾にタブを使った場合に、別の人が観た際に作成者の意図とずれる」**という意見を何度かいただきました。タブ肯定派の私から見てもそれに関しては正しいと思います。「行中の位置そろえや装飾にタブを使う」ことは避けるべきだと思います。
|
23
|
+
|
24
|
+
ですが、行中に使うべきではないという話と、**「ネストの階層構造を表現するために行頭に非表示文字を挿入し字下げすること」**は区別して考えるべきだと思います。
|
7
微修正
answer
CHANGED
@@ -16,4 +16,4 @@
|
|
16
16
|
→**「インデント」とは、「ネストの階層構造を表現するために行頭に非表示文字を挿入し字下げすること」**と私は考えています。インデント以外にタブを使うことを許すかどうかはまた別の問題だと思います。世の中にはそういう対立問題もあるのかもしれませんが、本質問では**「 インデントにタブを使うことのデメリット」**だけを対象にさせていただきます。
|
17
17
|
|
18
18
|
・2文字で表示されることを前提としてコードを書いて、見た人が8文字で表示すると80桁を超えやすくなる
|
19
|
-
→「タブとスペースの比較」では無く「2文字と8文字の比較」をしており本質
|
19
|
+
→「タブとスペースの比較」では無く「2文字と8文字の比較」をしており本質問の意図と異なります。文字数対決は別の機会に行っていただきたいです
|
6
追記・修正・装飾
answer
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
間違って投稿してしまったのですが、意見のまとめ用として使います。
|
2
2
|
|
3
3
|
■タブを使った場合に発生するデメリット
|
4
|
+
・**Excelにコードを張り付けることを要求された場合に手間取る**
|
4
5
|
・YAMLやPythonでは、タブを使うと問題がおきることがある
|
5
|
-
・Excelにコードを張り付けることを要求された場合に手間取る
|
6
6
|
・ドットインパクトプリンタでずれて印刷される場合がある
|
7
7
|
・ホストのCRT端末や初期のPC用エディタや、cat, less, vimなどだと、タブを使うとすぐに右端に達する
|
8
8
|
→タブは8文字固定で画面幅は72桁しか表示できないため
|
@@ -10,11 +10,10 @@
|
|
10
10
|
■スペースを使うメリット
|
11
11
|
・パンチカードや紙テープではタブは使えないのでスペースを使わざるを得ない
|
12
12
|
|
13
|
-
■表示が崩れる説
|
14
|
-
・行中や位置そろえにタブを使うと作成者の意図と表示がずれる
|
15
|
-
・2文字で表示されることを前提としてコードを書いて、見た人が4文字で表示すると80桁を超えやすくなる
|
16
13
|
|
14
|
+
□表示が崩れる説 (ただし、本質問の対象とはしない)
|
15
|
+
・行中や位置そろえ・装飾にタブを使うと作成者の意図と表示がずれる
|
16
|
+
→**「インデント」とは、「ネストの階層構造を表現するために行頭に非表示文字を挿入し字下げすること」**と私は考えています。インデント以外にタブを使うことを許すかどうかはまた別の問題だと思います。世の中にはそういう対立問題もあるのかもしれませんが、本質問では**「 インデントにタブを使うことのデメリット」**だけを対象にさせていただきます。
|
17
17
|
|
18
|
+
・2文字で表示されることを前提としてコードを書いて、見た人が8文字で表示すると80桁を超えやすくなる
|
18
|
-
「
|
19
|
+
→「タブとスペースの比較」では無く「2文字と8文字の比較」をしており本質的ではありません。文字数対決は別の機会に行っていただきたいです
|
19
|
-
|
20
|
-
インデントが4文字以上だと「80桁を超えやすくなる」のは確かにそれはある。しかしそもそも80桁を超えたらアウトと厳しく制限しているケースが少ないように感じる。2文字4文字の影響とは関係なく100桁120桁のソースを見かける。それだけが根拠ならさほど気にしなくともよいのでは?
|
5
追記・修正
answer
CHANGED
@@ -4,13 +4,17 @@
|
|
4
4
|
・YAMLやPythonでは、タブを使うと問題がおきることがある
|
5
5
|
・Excelにコードを張り付けることを要求された場合に手間取る
|
6
6
|
・ドットインパクトプリンタでずれて印刷される場合がある
|
7
|
-
・ホストのCRT端末や初期のPC用エディタだと、タブを使うとすぐに右端に達する
|
7
|
+
・ホストのCRT端末や初期のPC用エディタや、cat, less, vimなどだと、タブを使うとすぐに右端に達する
|
8
8
|
→タブは8文字固定で画面幅は72桁しか表示できないため
|
9
9
|
|
10
10
|
■スペースを使うメリット
|
11
11
|
・パンチカードや紙テープではタブは使えないのでスペースを使わざるを得ない
|
12
12
|
|
13
13
|
■表示が崩れる説
|
14
|
-
・行中や位置そろえにタブを使うと作成者の意図と表示がずれる
|
14
|
+
・行中や位置そろえにタブを使うと作成者の意図と表示がずれる
|
15
15
|
・2文字で表示されることを前提としてコードを書いて、見た人が4文字で表示すると80桁を超えやすくなる
|
16
|
+
|
17
|
+
|
18
|
+
「表示が崩れる説」の根拠については、そもそもネストの意味のインデント以外に使用すべきではないと思う。が、そう使いたい人もいるのだろう。Googleのコーディング規約では、そのように書いてある
|
19
|
+
|
16
|
-
|
20
|
+
インデントが4文字以上だと「80桁を超えやすくなる」のは確かにそれはある。しかしそもそも80桁を超えたらアウトと厳しく制限しているケースが少ないように感じる。2文字4文字の影響とは関係なく100桁120桁のソースを見かける。それだけが根拠ならさほど気にしなくともよいのでは?
|
4
追記
answer
CHANGED
@@ -13,4 +13,4 @@
|
|
13
13
|
■表示が崩れる説
|
14
14
|
・行中や位置そろえにタブを使うと作成者の意図と表示がずれる→そもそもネストの意味のインデント以外に使用すべきではない
|
15
15
|
・2文字で表示されることを前提としてコードを書いて、見た人が4文字で表示すると80桁を超えやすくなる
|
16
|
-
→確かにそれはある。しかしそもそも80桁を超えたらアウトと厳しく制限しているケースが少ないように感じる。2文字4文字の影響とは関係なく100桁120桁のソースを見かける。
|
16
|
+
→確かにそれはある。しかしそもそも80桁を超えたらアウトと厳しく制限しているケースが少ないように感じる。2文字4文字の影響とは関係なく100桁120桁のソースを見かける。それだけが根拠ならさほど気にしなくともよいのでは?
|
3
記述ミス修正
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
・YAMLやPythonでは、タブを使うと問題がおきることがある
|
5
5
|
・Excelにコードを張り付けることを要求された場合に手間取る
|
6
6
|
・ドットインパクトプリンタでずれて印刷される場合がある
|
7
|
-
・ホストのCRT端末や初期のPC用エディタ
|
7
|
+
・ホストのCRT端末や初期のPC用エディタだと、タブを使うとすぐに右端に達する
|
8
8
|
→タブは8文字固定で画面幅は72桁しか表示できないため
|
9
9
|
|
10
10
|
■スペースを使うメリット
|
2
間違って投稿してしまいごみになったが、有効に使うえるよう内容を編集
answer
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
間違って投稿してしまったのですが、意見のまとめ用として使います。
|
2
|
+
|
1
|
-
|
3
|
+
■タブを使った場合に発生するデメリット
|
4
|
+
・YAMLやPythonでは、タブを使うと問題がおきることがある
|
5
|
+
・Excelにコードを張り付けることを要求された場合に手間取る
|
6
|
+
・ドットインパクトプリンタでずれて印刷される場合がある
|
7
|
+
・ホストのCRT端末や初期のPC用エディタでだと、タブを使うとすぐに右端に達する
|
8
|
+
→タブは8文字固定で画面幅は72桁しか表示できないため
|
9
|
+
|
10
|
+
■スペースを使うメリット
|
2
|
-
|
11
|
+
・パンチカードや紙テープではタブは使えないのでスペースを使わざるを得ない
|
12
|
+
|
3
|
-
|
13
|
+
■表示が崩れる説
|
14
|
+
・行中や位置そろえにタブを使うと作成者の意図と表示がずれる→そもそもネストの意味のインデント以外に使用すべきではない
|
15
|
+
・2文字で表示されることを前提としてコードを書いて、見た人が4文字で表示すると80桁を超えやすくなる
|
16
|
+
→確かにそれはある。しかしそもそも80桁を超えたらアウトと厳しく制限しているケースが少ないように感じる。2文字4文字の影響とは関係なく100桁120桁のソースを見かける。
|
1
コメントをしようとして間違えました
answer
CHANGED
@@ -1,10 +1,3 @@
|
|
1
|
-
ざっくりまとめると、
|
2
|
-
・昔はタブは問題があった
|
3
|
-
・今でもYAMLやPythonでは、タブは問題がおきることがあるから気をつけろ
|
4
|
-
ということですかね。
|
5
|
-
|
6
|
-
|
1
|
+
コメントをしようとして間違えました。
|
7
|
-
|
8
|
-
あとここについて、もう少し教えてください。
|
9
|
-
|
2
|
+
っていうかteratailって確認画面で無いので間違えやすいですよね…
|
10
|
-
|
3
|
+
編集できるからいいですけど。
|