コーディングスタイルを統一する意味ってあるの?

■ このスレッドは過去ログ倉庫に格納されています
2018/04/17(火) 10:57:52.15ID:/iau8dFJ
さすがに1つの関数内でごちゃまぜになってると気持ち悪いけど
別に関数違えばバラバラでも良くない?
統一することでなにかメリットあった?

良い書き方と悪い書き方があって、良い書き方に統一するという話ではなくて
どちらでも良い書き方のうち、どちらかに統一するのは
意味があるのか?って話ね
2018/04/18(水) 22:58:50.31ID:yZY50SSw
あー、ごめんごめん

if (・・・) return 0;

ifの後にスペースが必要だったねw
35デフォルトの名無しさん
垢版 |
2018/04/18(水) 23:14:02.68ID:BsJyLYoy
これが馬鹿か
2018/04/18(水) 23:14:07.92ID:ITlW1RMQ
>>33
なんで?(殺意)
2018/04/18(水) 23:27:00.47ID:FLvVXkO/
>>36
バグの温床だから
38デフォルトの名無しさん
垢版 |
2018/04/19(木) 00:11:07.89
#define ERROR_CHECK(cond) if (cond) return 0

ERROR_CHECK(ret);

こうすべきだよね!
2018/04/19(木) 00:45:59.80ID:LT7XffwA
コーディングスタイルとは関係ない話ばっかり
2018/04/19(木) 07:25:36.99ID:kIK3R/E/
俺はコーディングする時は左足を上にして足を組むスタイルだけど、昔の同僚には椅子の上にあぐらかく奴もいたわ
ここらへんのスタイルも統一した方が良いのか
2018/04/19(木) 12:06:43.81ID:K/LVkPLf
>>37
なんで?(殺意)
2018/04/19(木) 12:16:44.81ID:P2Ts8AHc
椅子の上に正座するスタイルは?
2018/04/19(木) 16:18:59.20ID:QjYlAcbY
ワイシャツにネクタイが基本スタイル
44デフォルトの名無しさん
垢版 |
2018/04/19(木) 17:47:07.24
とりあえず靴脱ぐのはいいがその足をこっちに向けるな
45デフォルトの名無しさん
垢版 |
2018/04/19(木) 19:19:03.44ID:r6J+JAu5
>>41
アップルが実際にやらかしたバグ

  if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0)
    goto fail;
  if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0)
    goto fail;
  if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
    goto fail;
  if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
    goto fail;
    goto fail;
  if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
    goto fail;
2018/04/19(木) 20:06:51.62ID:D+uDr/B/
>>45
いまのツールならオートインデントとか到達しないコードとかですぐ捕まりそうだけど
結構昔なのかな?
2018/04/19(木) 20:10:25.45ID:4CSAD5gH
>>45
あんまりまじめに読み込んでないんだけど、初見としてはgoto failが二つあるのが目に付いた
2018/04/19(木) 20:14:55.69ID:qT/GtXSl
>>46
相当古いコードか、偏屈な天才が謎の変なエディタに異様なこだわりを持っててそれを使ってたとか
2018/04/19(木) 21:35:03.72ID:LT7XffwA
こう書いていれば一目瞭然だったのにね

  if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0) goto fail;
  if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0) goto fail;
  if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail;
  if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail;
    goto fail;
  if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail;
2018/04/19(木) 21:55:26.47ID:agF5d9pF
2010年代に作られた言語はだいたい
ifの後に単体の文はかけない
必ずブロックがいる
2018/04/19(木) 21:59:36.84ID:LT7XffwA
2010年代に作られた言語ってなんや?
2018/04/19(木) 22:46:24.63ID:TiqCtHYx
Cだと if if else のときどっちの if に対する else になるのか
未定義みたいな話なかったっけ?
2018/04/19(木) 22:46:34.90ID:qT/GtXSl
Swiftとか?
2018/04/19(木) 23:32:11.67ID:/GXx5a5x
>>52
どう見ても近い方のifだろ
仕様は知らないけどそんなの未定義なの?んで遠い方のifにつながるコンパイラがあるの?
2018/04/20(金) 21:28:24.42ID:uy6ZTS8A
自分がコンパイラの気持ちになれば自ずと分かる話をいちいち説明させるなって事だよw
56デフォルトの名無しさん
垢版 |
2018/04/21(土) 03:00:44.53ID:0hRtl5v6
別にひと文ごとに英語や日本語その他の言語が入れ替わる文章でもOKっていうならいいんじゃない
つまり機能を満たしてればいいんでしょ?
57デフォルトの名無しさん
垢版 |
2018/04/22(日) 21:41:59.04ID:XoHZPHE0
防御的な意味で意味のあるものはある
if文等は一行だけでも中括弧で囲む
配列要素の区切りにはカンマを置く
とか
最近はIDE使うからあんまり意味ない気もする
つかlinterとかformatter使うから書いてるときはスタイル意識しない
58デフォルトの名無しさん
垢版 |
2018/04/22(日) 21:52:22.45ID:Kip6eXci
>>46
GCCやClangと言ったコンパイラに警告する機能はあるが
明示的に有効にしないと機能しないらしい
2018/04/23(月) 08:13:43.28ID:BjvECnGu
Rubyで配列作るときに%()を使うかどうかですごい揉めてたことがあったな
これと[]リテラルが混在するとマジでバグの元になるからそういうところは統一した方がいいと思った
2018/04/23(月) 11:09:34.75ID:1i6WUaW3
if(honyarara){...}みたいに比較省略できるけど、あれが不具合の原因だと分かりづらいから、何と比較しているのか面倒でも書いて欲しい。
if(honyarara!=false)、if(honyarara!=NULL)、if(honyarara>0)、if(honyarara==true)とか。
同様に三項演算子使う場合も honyarara ? A : B みたいにしないで、(honyarara != false) ? A : B と書いて欲しい。
2018/04/23(月) 11:56:07.61ID:khho7vfC
× 比較が省略できる

○ 正しい書き方
2018/04/23(月) 11:59:14.16ID:khho7vfC
ただしこれは同意
> if(honyarara != NULL)
2018/04/23(月) 12:02:18.74ID:/uUuSWda
>>60
Javascrptだと特に予期せぬバグになるからな、マジで
2018/04/23(月) 12:17:04.00ID:V8pBnF9b
>>62
コード中に全角スペースやめてくれ
賢いコンパイラはその旨言ってくれるけどそうでないと
場合によってはデバッグするのかなり大変なんだわ
65デフォルトの名無しさん
垢版 |
2018/04/23(月) 12:17:06.31
>>60
boolに関しては書かないのが美しい
66デフォルトの名無しさん
垢版 |
2018/04/23(月) 12:18:31.07
>>64
全角スペースか半角スペースかタブ文字かくらい一目で見分けが付くようにエディタ設定しとけやwww
2018/04/23(月) 12:24:05.98ID:khho7vfC
if(a.isEmpty()==true)

こんなの書いてたら知能に障害があるとしか思えない
2018/04/23(月) 12:24:33.24ID:V8pBnF9b
>>66
秀丸はできるけとVisual studioで設定できるの?
出来るならまじ教えてほしい
69デフォルトの名無しさん
垢版 |
2018/04/23(月) 12:31:12.15ID:5T3zNxGs
>>60
例えばJavaScriptで明示的に真偽値としたいなら!!hogeみたいに二重否定してもいい
けどパッと見意味不明だし普通に書いた方がいいよな
2018/04/23(月) 12:46:16.39ID:6FYf21K/
>!!hogeみたいに二重否定
!!うわー気持ち悪い

if(a.isEmpty())

シンプルにこれで問題ないと思う
もちろんメソッドが真偽値を返す前提で
2018/04/23(月) 12:58:50.36ID:ezZODi8g
Visual Studioはそんなことも出来んのか
やっぱりVimがナンバーワン!
2018/04/23(月) 14:37:38.62ID:V8pBnF9b
強い気持ちで否定するときに使ってほしいコード

return !!!!!!!!!!!!!!!!!!!!false;
2018/04/23(月) 17:37:12.19ID:f4PMmCW/
やめろ
2018/04/23(月) 20:34:56.70ID:cBTTjRuD
明日から使えるidiomありがたい
2018/04/23(月) 21:52:24.00ID:FGTQYpja
>>59
> Rubyで配列作るときに%()を使うかどうかですごい揉めてたことがあったな

根本的な原因は記号の数が足りないのがいけない

使わない制御コードなくして文字に変更しようぜ!
76デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:40:52.42ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

IIVY0
77デフォルトの名無しさん
垢版 |
2018/07/05(木) 01:50:59.17ID:RfoszcD2
ZXS
78デフォルトの名無しさん
垢版 |
2018/07/05(木) 06:16:45.11ID:OTfP6cvC
オブジェクト指向的に考えれば
クラスの内部なんて他のクラスからは知ったことではない
異なるクラスの間でスタイルを合わせる意味は全くない

馬鹿「データベースアクセスクラスとPDFクラスで書きかたが違うんですけどどういうことですか?」
賢者「それらは全く関係がない異なるクラスだからです」
2018/07/05(木) 07:56:21.37ID:qLOD4ZYT
メンテナという全てにアクセスするクラスがいるので統一は必要です
2018/07/05(木) 08:14:25.62ID:68wCRvW6
キャメルかスネークかはそんな気にせんでも良いかなとは思う。
2018/07/05(木) 08:57:17.04ID:53L3gqZU
優劣が無いスタイルこそ規約で縛るべきなんだが
そんな当たり前のことも理解出来ないのか>>1
2018/07/10(火) 17:15:25.57ID:hxdwH89H
実際のファイルのスタイルを変えずにエディタ上の編集は好きなスタイルでできるようにする、ってのはあかんか?
細かいとこで無理は出るだろうけど不可能じゃないよな
利点も薄い気はするが
2018/07/28(土) 09:28:42.74ID:E7c9fNX3
>82
一票!
改行位置とインデントだけでもかなり読みやすくなるし
2018/07/28(土) 19:35:15.01ID:g5xPw0Dm
>>82
今はその方向性が主流
書くときはともかく保存時にフォーマッタに処理させる
フォーマッタに自動でやらせられないものもリンターに指摘させて後で直す
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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