インデントはタブかホワイトスペースか?
■ このスレッドは過去ログ倉庫に格納されています
2008/10/10(金) 21:13:57
どっちがいいの?
246デフォルトの名無しさん
2017/06/24(土) 22:35:57.72ID:TM1thEne emacsなら行単位で文法フォーマットしてくれる機能があるからそれをTabというかCtrl+Iに割り当ててる
この機能は、
空行の場合には、それ以前の行のコードに合わせてインデント調整してくれて、そこからコード入力はじめられる
すでに何らかのコードが入力されている場合には、そのコードを前の行に合わせて正しい位置にインデントしてくれる
emacsには昔からある機能だけど、JetBrains系のIDEにもまんま同じ機能がemacs tabっていう名前で用意されていて便利に使えてる
VisualStudio系にはこれと同じ機能がなくてすごい不満
代わりにformat〜とかいう機能があるからそれをCtrl+Iに割り当てて使ってるけど、挙動が少し違うから困る
この機能は、
空行の場合には、それ以前の行のコードに合わせてインデント調整してくれて、そこからコード入力はじめられる
すでに何らかのコードが入力されている場合には、そのコードを前の行に合わせて正しい位置にインデントしてくれる
emacsには昔からある機能だけど、JetBrains系のIDEにもまんま同じ機能がemacs tabっていう名前で用意されていて便利に使えてる
VisualStudio系にはこれと同じ機能がなくてすごい不満
代わりにformat〜とかいう機能があるからそれをCtrl+Iに割り当てて使ってるけど、挙動が少し違うから困る
247デフォルトの名無しさん
2017/06/25(日) 00:26:30.48ID:W+t3LiWk タブを使った場合の問題点は以下のようなコメントが書きづらいということ
if (true) {
foo(); # ながーいいいいいいい
# コメント
}
これを正しくインデントするならば
[タブ]foo(); # ながーいいいいいいい
[タブ][空白] # コメント
としなければいけない。
なぜなら、こうしなければ以下場合にタブ幅が4ではなくて8になったら
コメントの位置がずれてしまうから
[タブ]foo(); # ながーいいいいいいい
[タブ][タブ] # コメント
タブとスペースの意味が同じであれば、こういう面倒な使い分けを
いちいちやる理由がない。理由がなければやらない(全部スペース)を使うのが合理的
if (true) {
foo(); # ながーいいいいいいい
# コメント
}
これを正しくインデントするならば
[タブ]foo(); # ながーいいいいいいい
[タブ][空白] # コメント
としなければいけない。
なぜなら、こうしなければ以下場合にタブ幅が4ではなくて8になったら
コメントの位置がずれてしまうから
[タブ]foo(); # ながーいいいいいいい
[タブ][タブ] # コメント
タブとスペースの意味が同じであれば、こういう面倒な使い分けを
いちいちやる理由がない。理由がなければやらない(全部スペース)を使うのが合理的
248デフォルトの名無しさん
2017/06/25(日) 07:07:58.87ID:wnVI7vr5249デフォルトの名無しさん
2017/06/25(日) 07:12:29.34ID:wnVI7vr5 >>247
コードのコメントならコードの上に書けばよい。特に関数のコメントなら上に書くべきで、関数の呼び出し行の右には書かない。
コードのコメントならコードの上に書けばよい。特に関数のコメントなら上に書くべきで、関数の呼び出し行の右には書かない。
250デフォルトの名無しさん
2017/06/25(日) 07:17:02.48ID:crK74dJZ >>247
そういうコメントのつけ方をしたらずれるのがわかってるから、TAB使う人はそういう書き方を
しないかあるいはそもそも位置合わせにこだわらない。
スペース前提でのやり方をそのまま持ち込んで問題があると言うのが的外れ。
個人的には、改行が必要なほど長いコメントをインラインで書くのがそもそもどうかと思う。
そういうコメントのつけ方をしたらずれるのがわかってるから、TAB使う人はそういう書き方を
しないかあるいはそもそも位置合わせにこだわらない。
スペース前提でのやり方をそのまま持ち込んで問題があると言うのが的外れ。
個人的には、改行が必要なほど長いコメントをインラインで書くのがそもそもどうかと思う。
251デフォルトの名無しさん
2017/06/25(日) 13:06:17.58ID:W+t3LiWk252デフォルトの名無しさん
2017/06/25(日) 14:26:54.32ID:un4XSpf2 コメントはともかく、関数の引数を開き括弧に揃えるといった場合に、位置揃えに
タブが使われると、タブの文字幅の設定によって縦位置がずれるって問題はあるな。
https://www.emacswiki.org/emacs/TabsAreEvil
確かに位置揃えにはスペースだけを使うようにすれば問題ない。
https://www.emacswiki.org/emacs/SmartTabs
(indenting with tabs and aligning with spaces)
しかし実際にはソースコード上でタブの使用を許すと
タブとスペースを上手く使い分けできずに最初のURLにあるようなコードを
書く奴が出てくるから、それならインデントも位置揃えもスペースのみを使用する
コーティングスタイルにしておいた方がましってところじゃないかな。
タブが使われると、タブの文字幅の設定によって縦位置がずれるって問題はあるな。
https://www.emacswiki.org/emacs/TabsAreEvil
確かに位置揃えにはスペースだけを使うようにすれば問題ない。
https://www.emacswiki.org/emacs/SmartTabs
(indenting with tabs and aligning with spaces)
しかし実際にはソースコード上でタブの使用を許すと
タブとスペースを上手く使い分けできずに最初のURLにあるようなコードを
書く奴が出てくるから、それならインデントも位置揃えもスペースのみを使用する
コーティングスタイルにしておいた方がましってところじゃないかな。
253デフォルトの名無しさん
2017/06/25(日) 14:30:51.14ID:un4XSpf2 関数の引数を開き括弧に揃えるってのはこんな感じのもの。
(タブをインデントに使う場合)
function bar(veryDescriptiveArgumentNumberOne,
veryDescriptiveArgumentTwo) {
[_タブ_]doSomething()
}
この場合は以下のように括弧の後で改行すべきってスタイルもあるけど。
function bar(
veryDescriptiveArgumentNumberOne,
veryDescriptiveArgumentTwo) {
[_タブ_]doSomething()
}
(タブをインデントに使う場合)
function bar(veryDescriptiveArgumentNumberOne,
veryDescriptiveArgumentTwo) {
[_タブ_]doSomething()
}
この場合は以下のように括弧の後で改行すべきってスタイルもあるけど。
function bar(
veryDescriptiveArgumentNumberOne,
veryDescriptiveArgumentTwo) {
[_タブ_]doSomething()
}
254デフォルトの名無しさん
2017/06/25(日) 15:04:49.06ID:z2WkcYdd 俺はタブを使ってないが、コーディングスタイルの問題として後者の方が良いと思う。
255デフォルトの名無しさん
2017/06/25(日) 15:17:52.38ID:wnVI7vr5256デフォルトの名無しさん
2017/06/25(日) 15:39:29.73ID:crK74dJZ 昔は前者のレイアウトはいちいち手でそろえるのがナンセンスだと思っていたけど、
今ならフォーマッタで一発だから、それが使える前提ならアリかなとも思う。
特にヘッダファイルの場合、後者のレイアウトだと関数名がパラメータに紛れて見にくい。
どっちにしても、引数の表示位置がずれることにこだわること自体はナンセンスだと思うけど。
今ならフォーマッタで一発だから、それが使える前提ならアリかなとも思う。
特にヘッダファイルの場合、後者のレイアウトだと関数名がパラメータに紛れて見にくい。
どっちにしても、引数の表示位置がずれることにこだわること自体はナンセンスだと思うけど。
257デフォルトの名無しさん
2017/06/25(日) 17:20:13.85ID:wnVI7vr5 >>256
昔から縦揃えはナンセンスなんだが、昔の言語は位置を揃えるのが普通で、C言語もそのなごりを受けているから、いまだに引数の記述位置を揃えたがるのはいる。
昔から縦揃えはナンセンスなんだが、昔の言語は位置を揃えるのが普通で、C言語もそのなごりを受けているから、いまだに引数の記述位置を揃えたがるのはいる。
258デフォルトの名無しさん
2017/06/25(日) 18:20:14.61ID:y65FaRS5 > 昔から縦揃えはナンセンスなんだが
それは間違い
実際に比較してみればわかるが
縦を揃えたほうが見やすいのは事実
CSVとかMarkdownのテーブルを見れば
一目瞭然だろう
見やすいというメリットと、メンテナンス性が
悪いというデメリットの両方を持ってる。
これは事実として受け容れなければいけない
その上で揃えたほうが見やすいけど、うちの会社が
使ってるエディタでは縦揃えが難しいから
揃えるのは諦めてる。と言わないと嘘つきになってしまう
それは間違い
実際に比較してみればわかるが
縦を揃えたほうが見やすいのは事実
CSVとかMarkdownのテーブルを見れば
一目瞭然だろう
見やすいというメリットと、メンテナンス性が
悪いというデメリットの両方を持ってる。
これは事実として受け容れなければいけない
その上で揃えたほうが見やすいけど、うちの会社が
使ってるエディタでは縦揃えが難しいから
揃えるのは諦めてる。と言わないと嘘つきになってしまう
259デフォルトの名無しさん
2017/06/25(日) 18:54:40.17ID:crK74dJZ その「見やすさ」にどういうメリットがあるかってことだろう。
ブロックのインデントはブロックの範囲を把握しやすくするという目的があって、
だからこそ同じブロック内は同じ高さに揃えて例外はあまりあってほしくないわけだが。
ブロックのインデントはブロックの範囲を把握しやすくするという目的があって、
だからこそ同じブロック内は同じ高さに揃えて例外はあまりあってほしくないわけだが。
260デフォルトの名無しさん
2017/06/25(日) 18:57:00.95ID:y65FaRS5 > その「見やすさ」にどういうメリットがあるかってことだろう。
「可読性」が大事って話をしろってこと?
それはレベルが低すぎるw
「可読性」が大事って話をしろってこと?
それはレベルが低すぎるw
261デフォルトの名無しさん
2017/06/25(日) 19:19:58.80ID:crK74dJZ ん、まぁ、「レベルが低い」でごまかさずにどういうメリットがあるのか説明してみてほしい。
262デフォルトの名無しさん
2017/06/25(日) 21:39:45.35ID:wnVI7vr5 >>260
それはその見た目に慣れているかどうかでしかない。
それはその見た目に慣れているかどうかでしかない。
263デフォルトの名無しさん
2017/06/25(日) 22:06:09.42ID:y65FaRS5 >>262
可読性=読みやすさだよ
可読性=読みやすさだよ
264デフォルトの名無しさん
2017/06/26(月) 12:43:08.60ID:dkXVfWFO >>263
おまえの可読性ってその程度のことなのか?
おまえの可読性ってその程度のことなのか?
265デフォルトの名無しさん
2017/06/26(月) 12:47:59.42ID:RRor8pec ふ、お前の可読性はまだまだそんなもんじゃないはずだ
見せてみろ!お前の真のチカラを!!
見せてみろ!お前の真のチカラを!!
266デフォルトの名無しさん
2017/06/26(月) 13:15:57.03ID:d5peAhA8 =を揃えるのに皆さんはどうやっていますか?
テキストエディタ派の人、よろしくお願いします。
テキストエディタ派の人、よろしくお願いします。
267デフォルトの名無しさん
2017/06/26(月) 19:10:34.66ID:zVIkxyOR タブって本来縦揃えのためのものでしょ
それをスペース何文字とかで表示している奴が悪い
それをスペース何文字とかで表示している奴が悪い
268デフォルトの名無しさん
2017/10/12(木) 10:17:32.20ID:AYgvyQvZ >>266
揃えない。揃えたいと思うほど連続する事がない
揃えない。揃えたいと思うほど連続する事がない
269デフォルトの名無しさん
2017/10/13(金) 14:21:12.67ID:KnON5zi3 揃えるメリットがない
270デフォルトの名無しさん
2017/10/13(金) 19:47:48.49ID:YzoEew6q いやwお前らの大好きな可読性という最強のメリットがあるだろw何意地張っちゃってんの?w
271デフォルトの名無しさん
2017/10/13(金) 22:44:03.32ID:s0+Jkp8l 読みやすいほうが大好きに決まってるよな
読みにくいコードのほうが好きっていう人はいないと思う
読みにくいコードのほうが好きっていう人はいないと思う
272デフォルトの名無しさん
2017/10/13(金) 23:04:14.48ID:H2iLhF3K 上で議論されていたのは、=の位置を揃えたからといって有意に可読性が上がるのか?ってことだろ。
273デフォルトの名無しさん
2017/10/13(金) 23:07:22.69ID:YzoEew6q つまり無意に可読性が上がることは認めるのか?
まずはそこをハッキリさせとこうぜ?
まずはそこをハッキリさせとこうぜ?
274デフォルトの名無しさん
2017/10/13(金) 23:07:41.69ID:s0+Jkp8l =の位置を揃えるのは有意に可読性が上がる。これは確かだよ
もちろん揃える意味があるのは3行以上で揃える行数が
増えれば増えるほど可読性に影響を与える
ただし、入力の手間が増える。というだけの話。
入力の手間は可読性とは関係ない。
これは単に入力の手間と可読性のどちらを取るかという話でしか無い
もちろん揃える意味があるのは3行以上で揃える行数が
増えれば増えるほど可読性に影響を与える
ただし、入力の手間が増える。というだけの話。
入力の手間は可読性とは関係ない。
これは単に入力の手間と可読性のどちらを取るかという話でしか無い
275デフォルトの名無しさん
2017/10/13(金) 23:09:23.03ID:s0+Jkp8l276デフォルトの名無しさん
2017/10/13(金) 23:10:40.14ID:s0+Jkp8l 揃えたほうが見やすいのは、CSVファイルや
Markdownのテーブルでも同じこと。
可読性は上がるがメンテナンス性が下がるというだけのこと
Markdownのテーブルでも同じこと。
可読性は上がるがメンテナンス性が下がるというだけのこと
277デフォルトの名無しさん
2018/05/23(水) 21:33:45.43ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
NTZHS
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
NTZHS
278デフォルトの名無しさん
2018/07/05(木) 00:25:00.00ID:RfoszcD2 P8S
279デフォルトの名無しさん
2018/07/05(木) 00:27:34.84ID:F5EmMeHI タブにきまってるやん
タブ幅は参照するヤツが任意に設定できる
SP入れるヤツはゴミといっていい
タブ幅は参照するヤツが任意に設定できる
SP入れるヤツはゴミといっていい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【給食無償化】国が全額負担 自維公3党、近く合意へ [ぐれ★]
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論、逆ギレ「ごめんなさい」と言えない国情★2 [七波羅探題★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★6 [お断り★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論、逆ギレ「ごめんなさい」と言えない国情★3 [七波羅探題★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 貧困家庭「ご飯食べられないの;;」 高市早苗「さもしい顔して!!」 [592058334]
- 【悲報】トランプおやびん、高市首相に気を遣い「オオタニ」の話題を振っていた [834922174]
- ラ ー メ ン つ け 麺 ボ ク
- 縛られた主人公「やめろーーーー!!!!」ヒロイン「あんあん♡」ハ敵「こいつのまんこ超きもちぃ~w」ギッギッギッ
- 高市早苗「子どもがいる世帯への扶養控除廃止は私の意向ではなく自民党の意向で仕方ない」与党爆笑 [245325974]
- 00:00:00.000
