2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

インデントはタブかホワイトスペースか?

1 :デフォルトの名無しさん:2008/10/10(金) 21:13:57 .net
どっちがいいの?

229 :デフォルトの名無しさん:2017/06/20(火) 01:38:18.60 ID:oes7eN32.net
>>272
Pythonみたいな言語はちょっと特殊だけど、
普通の言語はエディタの機能で文法的に正しいインデントの位置まで一発で移動できるだろ?
BS打ってインデント下げるとかメモ帳でも使ってるのか?

PythonもEmacsならTabキー押すと文法的に適切なインデント位置候補を循環的に移動してくれるのな

230 :デフォルトの名無しさん:2017/06/21(水) 01:41:02.09 ID:jyeYXdNW.net
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
インデントに使う文字はタブ文字だろうとスペース文字だろうと大差ないよね

231 :デフォルトの名無しさん:2017/06/21(水) 09:38:00.43 ID:VAIiJv1j.net
タブは人によって設定がまちまちなのが面倒でね。

232 :デフォルトの名無しさん:2017/06/21(水) 20:05:02.93 ID:CSXEJ9e6.net

個人個人でTABの表示幅が変わっても問題なかろう?

233 :デフォルトの名無しさん:2017/06/21(水) 22:48:07.31 ID:QmU4e+sR.net
>>232
あんたバカ?

234 :デフォルトの名無しさん:2017/06/21(水) 23:41:39.11 ID:gaF+3k9+.net
EditorConfigってどーなん?
なんかデメリットある?

235 :デフォルトの名無しさん:2017/06/22(木) 23:28:13.18 ID:rywQppfm.net
>>231 何が面倒なの?

236 :デフォルトの名無しさん:2017/06/23(金) 08:00:11.57 ID:Zr/EANmn.net
インデントの論理的な表現であるタブと物理的なスペース、意識の高い方々は
前者を好みそうなもんだが実際は逆の雰囲気なんだよな。

237 :デフォルトの名無しさん:2017/06/24(土) 16:48:04.44 ID:+EJLhPmM.net
>>236
ホームポジションから遠いから・小指が疲れるから

もしもTABとスペースのキー位置が逆な平行世界だったら
タブでインデントすることに全く疑問を持たないw

238 :デフォルトの名無しさん:2017/06/24(土) 17:10:34.44 ID:5HRkzvGx.net
小指が強くないと意識高くなれないよ。

239 :デフォルトの名無しさん:2017/06/24(土) 17:19:47.30 ID:TM1thEne.net
最近はMacBookProでVimだから小指はそんなに強くないんじゃない?
おれも最近ちょっと仕事でMacBookProを使ってるんだが確かにこれでEmacsはちょっと厳しい
C-F押して右に何文字か移動しようとするとFFFFとか入力しちゃってつらい
小指でリンゴに穴を穿てる俺でこれだぜ?
若者がVimに移行するのもわかる

240 :デフォルトの名無しさん:2017/06/24(土) 17:24:09.55 ID:5HRkzvGx.net
esc遠いじゃん。vim使うならかわりに ctrl+[ 多用するんじゃないの?

241 :デフォルトの名無しさん:2017/06/24(土) 17:33:05.91 ID:TM1thEne.net
うむ。単発コントロールはいいんだけど、
コントロール押し続けたままってのがキツイんだよね
いつまにかコントロールが押されてない状態になっちゃう

242 :デフォルトの名無しさん:2017/06/24(土) 19:58:52.29 ID:Fu3zWmHz.net
Tabキーは薬指の方が押しやすいと思うんだが小指で押すのが普通なのかな
それと、もしかしてスペースキーを連打してインデントしてたりするのか……

243 :デフォルトの名無しさん:2017/06/24(土) 21:34:03.85 ID:U0yocUue.net
タブキー押すとスペースでインデントしてくれるエディタでも
BSキーは一文字しか消してくれなくて不便

244 :デフォルトの名無しさん:2017/06/24(土) 22:16:28.93 ID:Fu3zWmHz.net
TabキーもそうだけどBackspaceキーの挙動もエディタと設定次第じゃない?
https://blog.jetbrains.com/jp/2014/08/16/481
エディタによってはCtrl+IとかCtrl+]でインデントを増やしたり減らしたりできるね

245 :デフォルトの名無しさん:2017/06/24(土) 22:35:57.72 ID:TM1thEne.net
emacsなら行単位で文法フォーマットしてくれる機能があるからそれをTabというかCtrl+Iに割り当ててる

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

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

VisualStudio系にはこれと同じ機能がなくてすごい不満
代わりにformat〜とかいう機能があるからそれをCtrl+Iに割り当てて使ってるけど、挙動が少し違うから困る

246 :デフォルトの名無しさん:2017/06/25(日) 00:26:30.48 ID:W+t3LiWk.net
タブを使った場合の問題点は以下のようなコメントが書きづらいということ

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


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

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

としなければいけない。

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

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

タブとスペースの意味が同じであれば、こういう面倒な使い分けを
いちいちやる理由がない。理由がなければやらない(全部スペース)を使うのが合理的

247 :デフォルトの名無しさん:2017/06/25(日) 07:07:58.87 ID:wnVI7vr5.net
>>236
テキストエディタでタブを何文字分のスペースとするか決まってないからだけど、俺は半角スペースのインデントは手間がかかるから嫌い。

特に後から直すときにスペースでインデントしていると面倒。

248 :デフォルトの名無しさん:2017/06/25(日) 07:12:29.34 ID:wnVI7vr5.net
>>246
コードのコメントならコードの上に書けばよい。特に関数のコメントなら上に書くべきで、関数の呼び出し行の右には書かない。

249 :デフォルトの名無しさん:2017/06/25(日) 07:17:02.48 ID:crK74dJZ.net
>>246
そういうコメントのつけ方をしたらずれるのがわかってるから、TAB使う人はそういう書き方を
しないかあるいはそもそも位置合わせにこだわらない。
スペース前提でのやり方をそのまま持ち込んで問題があると言うのが的外れ。
個人的には、改行が必要なほど長いコメントをインラインで書くのがそもそもどうかと思う。

250 :デフォルトの名無しさん:2017/06/25(日) 13:06:17.58 ID:W+t3LiWk.net
>>248-249
つまりタブを使うとずれる場合があるから書き方に制限が出るわけだよね?

そういう風に気を使うことで得られるものは何かあるの?
スペースでいいじゃん

251 :デフォルトの名無しさん:2017/06/25(日) 14:26:54.32 ID:un4XSpf2.net
コメントはともかく、関数の引数を開き括弧に揃えるといった場合に、位置揃えに
タブが使われると、タブの文字幅の設定によって縦位置がずれるって問題はあるな。
https://www.emacswiki.org/emacs/TabsAreEvil

確かに位置揃えにはスペースだけを使うようにすれば問題ない。
https://www.emacswiki.org/emacs/SmartTabs
(indenting with tabs and aligning with spaces)

しかし実際にはソースコード上でタブの使用を許すと
タブとスペースを上手く使い分けできずに最初のURLにあるようなコードを
書く奴が出てくるから、それならインデントも位置揃えもスペースのみを使用する
コーティングスタイルにしておいた方がましってところじゃないかな。

252 :デフォルトの名無しさん:2017/06/25(日) 14:30:51.14 ID:un4XSpf2.net
関数の引数を開き括弧に揃えるってのはこんな感じのもの。
(タブをインデントに使う場合)

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

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

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

253 :デフォルトの名無しさん:2017/06/25(日) 15:04:49.06 ID:z2WkcYdd.net
俺はタブを使ってないが、コーディングスタイルの問題として後者の方が良いと思う。

254 :デフォルトの名無しさん:2017/06/25(日) 15:17:52.38 ID:wnVI7vr5.net
>>252
後者の方がコメントを書きやすい

インデントとスペースにすると書き直すのに手間取る

255 :デフォルトの名無しさん:2017/06/25(日) 15:39:29.73 ID:crK74dJZ.net
昔は前者のレイアウトはいちいち手でそろえるのがナンセンスだと思っていたけど、
今ならフォーマッタで一発だから、それが使える前提ならアリかなとも思う。
特にヘッダファイルの場合、後者のレイアウトだと関数名がパラメータに紛れて見にくい。
どっちにしても、引数の表示位置がずれることにこだわること自体はナンセンスだと思うけど。

256 :デフォルトの名無しさん:2017/06/25(日) 17:20:13.85 ID:wnVI7vr5.net
>>255
昔から縦揃えはナンセンスなんだが、昔の言語は位置を揃えるのが普通で、C言語もそのなごりを受けているから、いまだに引数の記述位置を揃えたがるのはいる。

257 :デフォルトの名無しさん:2017/06/25(日) 18:20:14.61 ID:y65FaRS5.net
> 昔から縦揃えはナンセンスなんだが
それは間違い

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

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

その上で揃えたほうが見やすいけど、うちの会社が
使ってるエディタでは縦揃えが難しいから
揃えるのは諦めてる。と言わないと嘘つきになってしまう

258 :デフォルトの名無しさん:2017/06/25(日) 18:54:40.17 ID:crK74dJZ.net
その「見やすさ」にどういうメリットがあるかってことだろう。
ブロックのインデントはブロックの範囲を把握しやすくするという目的があって、
だからこそ同じブロック内は同じ高さに揃えて例外はあまりあってほしくないわけだが。

259 :デフォルトの名無しさん:2017/06/25(日) 18:57:00.95 ID:y65FaRS5.net
> その「見やすさ」にどういうメリットがあるかってことだろう。

「可読性」が大事って話をしろってこと?
それはレベルが低すぎるw

260 :デフォルトの名無しさん:2017/06/25(日) 19:19:58.80 ID:crK74dJZ.net
ん、まぁ、「レベルが低い」でごまかさずにどういうメリットがあるのか説明してみてほしい。

261 :デフォルトの名無しさん:2017/06/25(日) 21:39:45.35 ID:wnVI7vr5.net
>>259
それはその見た目に慣れているかどうかでしかない。

262 :デフォルトの名無しさん:2017/06/25(日) 22:06:09.42 ID:y65FaRS5.net
>>261
可読性=読みやすさだよ

263 :デフォルトの名無しさん:2017/06/26(月) 12:43:08.60 ID:dkXVfWFO.net
>>262
おまえの可読性ってその程度のことなのか?

264 :デフォルトの名無しさん:2017/06/26(月) 12:47:59.42 ID:RRor8pec.net
ふ、お前の可読性はまだまだそんなもんじゃないはずだ
見せてみろ!お前の真のチカラを!!

265 :デフォルトの名無しさん:2017/06/26(月) 13:15:57.03 ID:d5peAhA8.net
=を揃えるのに皆さんはどうやっていますか?
テキストエディタ派の人、よろしくお願いします。

266 :デフォルトの名無しさん:2017/06/26(月) 19:10:34.66 ID:zVIkxyOR.net
タブって本来縦揃えのためのものでしょ
それをスペース何文字とかで表示している奴が悪い

267 :デフォルトの名無しさん:2017/10/12(木) 10:17:32.20 ID:AYgvyQvZ.net
>>265
揃えない。揃えたいと思うほど連続する事がない

268 :デフォルトの名無しさん:2017/10/13(金) 14:21:12.67 ID:KnON5zi3.net
揃えるメリットがない

269 :デフォルトの名無しさん:2017/10/13(金) 19:47:48.49 ID:YzoEew6q.net
いやwお前らの大好きな可読性という最強のメリットがあるだろw何意地張っちゃってんの?w

270 :デフォルトの名無しさん:2017/10/13(金) 22:44:03.32 ID:s0+Jkp8l.net
読みやすいほうが大好きに決まってるよな
読みにくいコードのほうが好きっていう人はいないと思う

271 :デフォルトの名無しさん:2017/10/13(金) 23:04:14.48 ID:H2iLhF3K.net
上で議論されていたのは、=の位置を揃えたからといって有意に可読性が上がるのか?ってことだろ。

272 :デフォルトの名無しさん:2017/10/13(金) 23:07:22.69 ID:YzoEew6q.net
つまり無意に可読性が上がることは認めるのか?
まずはそこをハッキリさせとこうぜ?

273 :デフォルトの名無しさん:2017/10/13(金) 23:07:41.69 ID:s0+Jkp8l.net
=の位置を揃えるのは有意に可読性が上がる。これは確かだよ
もちろん揃える意味があるのは3行以上で揃える行数が
増えれば増えるほど可読性に影響を与える

ただし、入力の手間が増える。というだけの話。
入力の手間は可読性とは関係ない。
これは単に入力の手間と可読性のどちらを取るかという話でしか無い

274 :デフォルトの名無しさん:2017/10/13(金) 23:09:23.03 ID:s0+Jkp8l.net
はい。参考文献
http://postd.cc/why-i-vertically-align-my-code-and-you-should-too/

275 :デフォルトの名無しさん:2017/10/13(金) 23:10:40.14 ID:s0+Jkp8l.net
揃えたほうが見やすいのは、CSVファイルや
Markdownのテーブルでも同じこと。
可読性は上がるがメンテナンス性が下がるというだけのこと

276 :デフォルトの名無しさん:2018/05/23(水) 21:33:45.43 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

NTZHS

277 :デフォルトの名無しさん:2018/07/05(木) 00:25:00.00 ID:RfoszcD2.net
P8S

278 :デフォルトの名無しさん:2018/07/05(木) 00:27:34.84 ID:F5EmMeHI.net
タブにきまってるやん
タブ幅は参照するヤツが任意に設定できる

SP入れるヤツはゴミといっていい

総レス数 278
58 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★