X



インデントはタブかホワイトスペースか?
■ このスレッドは過去ログ倉庫に格納されています
0229デフォルトの名無しさん
垢版 |
2017/06/19(月) 21:51:24.30ID:NPLs9gl6
タブ派だったけどhaskellがタブを受け付けなくて愕然とした
世の中そういうもんかとスペース派になった
0230デフォルトの名無しさん
垢版 |
2017/06/20(火) 01:38:18.60ID:oes7eN32
>>272
Pythonみたいな言語はちょっと特殊だけど、
普通の言語はエディタの機能で文法的に正しいインデントの位置まで一発で移動できるだろ?
BS打ってインデント下げるとかメモ帳でも使ってるのか?

PythonもEmacsならTabキー押すと文法的に適切なインデント位置候補を循環的に移動してくれるのな
0231デフォルトの名無しさん
垢版 |
2017/06/21(水) 01:41:02.09ID:jyeYXdNW
https://www.emacswiki.org/pics/static/SmartTabsScreenshot.png
とか >>197
https://blog.codinghorror.com/content/images/uploads/2009/04/6a0120a85dcdae970b012877709a74970c-pi.png
のように、構造はタブ文字でインデントして、
見た目の位置揃えはスペース文字で揃えるようにするのが理に適ってると思う

でも IDE で書くのならインデントについては
色を付けたり縦の線を引いたりしてネストの深さを分かりやすいようにしたりするけど
https://camo.githubusercontent.com/646b1ee420877d59b9f44fa46bb52c351b35db47/687474703a2f2f692e696d6775722e636f6d2f68487170322e706e67
http://loumo.jp/img/2016/11/atom-indent-guide-improved.jpg
インデントに使う文字はタブ文字だろうとスペース文字だろうと大差ないよね
0237デフォルトの名無しさん
垢版 |
2017/06/23(金) 08:00:11.57ID:Zr/EANmn
インデントの論理的な表現であるタブと物理的なスペース、意識の高い方々は
前者を好みそうなもんだが実際は逆の雰囲気なんだよな。
0238デフォルトの名無しさん
垢版 |
2017/06/24(土) 16:48:04.44ID:+EJLhPmM
>>237
ホームポジションから遠いから・小指が疲れるから

もしもTABとスペースのキー位置が逆な平行世界だったら
タブでインデントすることに全く疑問を持たないw
0240デフォルトの名無しさん
垢版 |
2017/06/24(土) 17:19:47.30ID:TM1thEne
最近はMacBookProでVimだから小指はそんなに強くないんじゃない?
おれも最近ちょっと仕事でMacBookProを使ってるんだが確かにこれでEmacsはちょっと厳しい
C-F押して右に何文字か移動しようとするとFFFFとか入力しちゃってつらい
小指でリンゴに穴を穿てる俺でこれだぜ?
若者がVimに移行するのもわかる
0242デフォルトの名無しさん
垢版 |
2017/06/24(土) 17:33:05.91ID:TM1thEne
うむ。単発コントロールはいいんだけど、
コントロール押し続けたままってのがキツイんだよね
いつまにかコントロールが押されてない状態になっちゃう
0243デフォルトの名無しさん
垢版 |
2017/06/24(土) 19:58:52.29ID:Fu3zWmHz
Tabキーは薬指の方が押しやすいと思うんだが小指で押すのが普通なのかな
それと、もしかしてスペースキーを連打してインデントしてたりするのか……
0244デフォルトの名無しさん
垢版 |
2017/06/24(土) 21:34:03.85ID:U0yocUue
タブキー押すとスペースでインデントしてくれるエディタでも
BSキーは一文字しか消してくれなくて不便
0246デフォルトの名無しさん
垢版 |
2017/06/24(土) 22:35:57.72ID:TM1thEne
emacsなら行単位で文法フォーマットしてくれる機能があるからそれをTabというかCtrl+Iに割り当ててる

この機能は、
空行の場合には、それ以前の行のコードに合わせてインデント調整してくれて、そこからコード入力はじめられる
すでに何らかのコードが入力されている場合には、そのコードを前の行に合わせて正しい位置にインデントしてくれる

emacsには昔からある機能だけど、JetBrains系のIDEにもまんま同じ機能がemacs tabっていう名前で用意されていて便利に使えてる

VisualStudio系にはこれと同じ機能がなくてすごい不満
代わりにformat〜とかいう機能があるからそれをCtrl+Iに割り当てて使ってるけど、挙動が少し違うから困る
0247デフォルトの名無しさん
垢版 |
2017/06/25(日) 00:26:30.48ID:W+t3LiWk
タブを使った場合の問題点は以下のようなコメントが書きづらいということ

if (true) {
  foo(); # ながーいいいいいいい
      # コメント
}


これを正しくインデントするならば

[タブ]foo(); # ながーいいいいいいい
[タブ][空白] # コメント

としなければいけない。

なぜなら、こうしなければ以下場合にタブ幅が4ではなくて8になったら
コメントの位置がずれてしまうから

[タブ]foo(); # ながーいいいいいいい
[タブ][タブ] # コメント

タブとスペースの意味が同じであれば、こういう面倒な使い分けを
いちいちやる理由がない。理由がなければやらない(全部スペース)を使うのが合理的
0248デフォルトの名無しさん
垢版 |
2017/06/25(日) 07:07:58.87ID:wnVI7vr5
>>237
テキストエディタでタブを何文字分のスペースとするか決まってないからだけど、俺は半角スペースのインデントは手間がかかるから嫌い。

特に後から直すときにスペースでインデントしていると面倒。
0249デフォルトの名無しさん
垢版 |
2017/06/25(日) 07:12:29.34ID:wnVI7vr5
>>247
コードのコメントならコードの上に書けばよい。特に関数のコメントなら上に書くべきで、関数の呼び出し行の右には書かない。
0250デフォルトの名無しさん
垢版 |
2017/06/25(日) 07:17:02.48ID:crK74dJZ
>>247
そういうコメントのつけ方をしたらずれるのがわかってるから、TAB使う人はそういう書き方を
しないかあるいはそもそも位置合わせにこだわらない。
スペース前提でのやり方をそのまま持ち込んで問題があると言うのが的外れ。
個人的には、改行が必要なほど長いコメントをインラインで書くのがそもそもどうかと思う。
0251デフォルトの名無しさん
垢版 |
2017/06/25(日) 13:06:17.58ID:W+t3LiWk
>>249-250
つまりタブを使うとずれる場合があるから書き方に制限が出るわけだよね?

そういう風に気を使うことで得られるものは何かあるの?
スペースでいいじゃん
0252デフォルトの名無しさん
垢版 |
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にあるようなコードを
書く奴が出てくるから、それならインデントも位置揃えもスペースのみを使用する
コーティングスタイルにしておいた方がましってところじゃないかな。
0253デフォルトの名無しさん
垢版 |
2017/06/25(日) 14:30:51.14ID:un4XSpf2
関数の引数を開き括弧に揃えるってのはこんな感じのもの。
(タブをインデントに使う場合)

function bar(veryDescriptiveArgumentNumberOne,
       veryDescriptiveArgumentTwo) {
[_タブ_]doSomething()
}

この場合は以下のように括弧の後で改行すべきってスタイルもあるけど。

function bar(
  veryDescriptiveArgumentNumberOne,
  veryDescriptiveArgumentTwo) {
[_タブ_]doSomething()
}
0254デフォルトの名無しさん
垢版 |
2017/06/25(日) 15:04:49.06ID:z2WkcYdd
俺はタブを使ってないが、コーディングスタイルの問題として後者の方が良いと思う。
0255デフォルトの名無しさん
垢版 |
2017/06/25(日) 15:17:52.38ID:wnVI7vr5
>>253
後者の方がコメントを書きやすい

インデントとスペースにすると書き直すのに手間取る
0256デフォルトの名無しさん
垢版 |
2017/06/25(日) 15:39:29.73ID:crK74dJZ
昔は前者のレイアウトはいちいち手でそろえるのがナンセンスだと思っていたけど、
今ならフォーマッタで一発だから、それが使える前提ならアリかなとも思う。
特にヘッダファイルの場合、後者のレイアウトだと関数名がパラメータに紛れて見にくい。
どっちにしても、引数の表示位置がずれることにこだわること自体はナンセンスだと思うけど。
0257デフォルトの名無しさん
垢版 |
2017/06/25(日) 17:20:13.85ID:wnVI7vr5
>>256
昔から縦揃えはナンセンスなんだが、昔の言語は位置を揃えるのが普通で、C言語もそのなごりを受けているから、いまだに引数の記述位置を揃えたがるのはいる。
0258デフォルトの名無しさん
垢版 |
2017/06/25(日) 18:20:14.61ID:y65FaRS5
> 昔から縦揃えはナンセンスなんだが
それは間違い

実際に比較してみればわかるが
縦を揃えたほうが見やすいのは事実
CSVとかMarkdownのテーブルを見れば
一目瞭然だろう

見やすいというメリットと、メンテナンス性が
悪いというデメリットの両方を持ってる。
これは事実として受け容れなければいけない

その上で揃えたほうが見やすいけど、うちの会社が
使ってるエディタでは縦揃えが難しいから
揃えるのは諦めてる。と言わないと嘘つきになってしまう
0259デフォルトの名無しさん
垢版 |
2017/06/25(日) 18:54:40.17ID:crK74dJZ
その「見やすさ」にどういうメリットがあるかってことだろう。
ブロックのインデントはブロックの範囲を把握しやすくするという目的があって、
だからこそ同じブロック内は同じ高さに揃えて例外はあまりあってほしくないわけだが。
0260デフォルトの名無しさん
垢版 |
2017/06/25(日) 18:57:00.95ID:y65FaRS5
> その「見やすさ」にどういうメリットがあるかってことだろう。

「可読性」が大事って話をしろってこと?
それはレベルが低すぎるw
0261デフォルトの名無しさん
垢版 |
2017/06/25(日) 19:19:58.80ID:crK74dJZ
ん、まぁ、「レベルが低い」でごまかさずにどういうメリットがあるのか説明してみてほしい。
0262デフォルトの名無しさん
垢版 |
2017/06/25(日) 21:39:45.35ID:wnVI7vr5
>>260
それはその見た目に慣れているかどうかでしかない。
0264デフォルトの名無しさん
垢版 |
2017/06/26(月) 12:43:08.60ID:dkXVfWFO
>>263
おまえの可読性ってその程度のことなのか?
0265デフォルトの名無しさん
垢版 |
2017/06/26(月) 12:47:59.42ID:RRor8pec
ふ、お前の可読性はまだまだそんなもんじゃないはずだ
見せてみろ!お前の真のチカラを!!
0266デフォルトの名無しさん
垢版 |
2017/06/26(月) 13:15:57.03ID:d5peAhA8
=を揃えるのに皆さんはどうやっていますか?
テキストエディタ派の人、よろしくお願いします。
0267デフォルトの名無しさん
垢版 |
2017/06/26(月) 19:10:34.66ID:zVIkxyOR
タブって本来縦揃えのためのものでしょ
それをスペース何文字とかで表示している奴が悪い
0268デフォルトの名無しさん
垢版 |
2017/10/12(木) 10:17:32.20ID:AYgvyQvZ
>>266
揃えない。揃えたいと思うほど連続する事がない
0270デフォルトの名無しさん
垢版 |
2017/10/13(金) 19:47:48.49ID:YzoEew6q
いやwお前らの大好きな可読性という最強のメリットがあるだろw何意地張っちゃってんの?w
0271デフォルトの名無しさん
垢版 |
2017/10/13(金) 22:44:03.32ID:s0+Jkp8l
読みやすいほうが大好きに決まってるよな
読みにくいコードのほうが好きっていう人はいないと思う
0272デフォルトの名無しさん
垢版 |
2017/10/13(金) 23:04:14.48ID:H2iLhF3K
上で議論されていたのは、=の位置を揃えたからといって有意に可読性が上がるのか?ってことだろ。
0273デフォルトの名無しさん
垢版 |
2017/10/13(金) 23:07:22.69ID:YzoEew6q
つまり無意に可読性が上がることは認めるのか?
まずはそこをハッキリさせとこうぜ?
0274デフォルトの名無しさん
垢版 |
2017/10/13(金) 23:07:41.69ID:s0+Jkp8l
=の位置を揃えるのは有意に可読性が上がる。これは確かだよ
もちろん揃える意味があるのは3行以上で揃える行数が
増えれば増えるほど可読性に影響を与える

ただし、入力の手間が増える。というだけの話。
入力の手間は可読性とは関係ない。
これは単に入力の手間と可読性のどちらを取るかという話でしか無い
0276デフォルトの名無しさん
垢版 |
2017/10/13(金) 23:10:40.14ID:s0+Jkp8l
揃えたほうが見やすいのは、CSVファイルや
Markdownのテーブルでも同じこと。
可読性は上がるがメンテナンス性が下がるというだけのこと
0277デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:33:45.43ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

NTZHS
0278デフォルトの名無しさん
垢版 |
2018/07/05(木) 00:25:00.00ID:RfoszcD2
P8S
0279デフォルトの名無しさん
垢版 |
2018/07/05(木) 00:27:34.84ID:F5EmMeHI
タブにきまってるやん
タブ幅は参照するヤツが任意に設定できる

SP入れるヤツはゴミといっていい
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況