さすがに1つの関数内でごちゃまぜになってると気持ち悪いけど
別に関数違えばバラバラでも良くない?
統一することでなにかメリットあった?
良い書き方と悪い書き方があって、良い書き方に統一するという話ではなくて
どちらでも良い書き方のうち、どちらかに統一するのは
意味があるのか?って話ね
コーディングスタイルを統一する意味ってあるの?
■ このスレッドは過去ログ倉庫に格納されています
2018/04/17(火) 10:57:52.15ID:/iau8dFJ
2018/04/17(火) 12:36:46.88ID:1GolraXE
func_20180417_103423とかいう文化圏で育った奴
3デフォルトの名無しさん
2018/04/17(火) 13:26:47.13ID:oudQnCi3 たしかに重箱の隅をつつくような規約は効率が良くなるかどうか疑問だな
多少の表記のゆれよりきちんとモジュール化、カプセル化されてる方が大事
多少の表記のゆれよりきちんとモジュール化、カプセル化されてる方が大事
2018/04/17(火) 14:29:08.12ID:KPrnwj2Y
整形機能のあるIDEで1発終了だから気にしない。
5デフォルトの名無しさん
2018/04/17(火) 14:52:38.93ID:mpFiPQ3t WBAWBC統一王者
2018/04/17(火) 14:54:58.06ID:ixI7lVkv
>>1
1人でやるならそれでいいんじゃね?
1人でやるならそれでいいんじゃね?
2018/04/17(火) 16:03:42.08ID:/iau8dFJ
>>6
スタイルがバラバラで、なにか困るんですか?
スタイルがバラバラで、なにか困るんですか?
2018/04/17(火) 20:11:43.68ID:/+eZ0JZT
>>1
>良い書き方と悪い書き方があって、良い書き方に統一するという話ではなくて
それは、悪い書き方を制限するってとらえた方がいい
>どちらでも良い書き方のうち、どちらかに統一するのは
>意味があるのか?って話ね
どちらでも良い(構わない)なら、統一することが良い(望ましい)書き方だ
統一は制限の一種といえるし、そうすることで誰にとっても理解しやすくなる
>良い書き方と悪い書き方があって、良い書き方に統一するという話ではなくて
それは、悪い書き方を制限するってとらえた方がいい
>どちらでも良い書き方のうち、どちらかに統一するのは
>意味があるのか?って話ね
どちらでも良い(構わない)なら、統一することが良い(望ましい)書き方だ
統一は制限の一種といえるし、そうすることで誰にとっても理解しやすくなる
9デフォルトの名無しさん
2018/04/17(火) 20:18:18.96ID:f7PKSmCj そう言われてみればコーディングスタイル決めてないけど
こまったことないわ
こまったことないわ
2018/04/17(火) 20:23:05.26ID:Z/PMm1Zv
いや一関数の行数制限だけはマジでかけてほしい
11デフォルトの名無しさん
2018/04/17(火) 20:41:30.11ID:f7PKSmCj >>10
なんでや?
なんでや?
2018/04/17(火) 20:56:08.59ID:Z/PMm1Zv
>>11
だってほっとくと1000行超えてるのに関数に分けようとしねーし
だってほっとくと1000行超えてるのに関数に分けようとしねーし
13デフォルトの名無しさん
2018/04/17(火) 21:02:50.90ID:f7PKSmCj >>12
なんで関数分けるんや?
なんで関数分けるんや?
14デフォルトの名無しさん
2018/04/17(火) 21:04:24.62ID:f7PKSmCj ステップ数で成果を測るのが嫌いなのに
ステップ数で関数を評価しようとするみなさん
ステップ数で関数を評価しようとするみなさん
2018/04/17(火) 21:15:26.81ID:KPrnwj2Y
16デフォルトの名無しさん
2018/04/17(火) 21:35:41.97 プログラマの給料は行数ベースの歩合制にすべき
そうすればこんな手抜きコードじゃなくて
001 for (i = 0; i < 10; i++) {
002 x[i] = func(i);
003 }
誰にでも分かりやすいこういうコードになるだろう
001 x_0 = func_0();
002 x_1 = func_1();
003 x_2 = func_2();
004 x_3 = func_3();
005 x_4 = func_4();
006 x_5 = func_5();
007 x_6 = func_6();
008 x_7 = func_7();
009 x_8 = func_8();
010 x_9 = func_9();
そうすればこんな手抜きコードじゃなくて
001 for (i = 0; i < 10; i++) {
002 x[i] = func(i);
003 }
誰にでも分かりやすいこういうコードになるだろう
001 x_0 = func_0();
002 x_1 = func_1();
003 x_2 = func_2();
004 x_3 = func_3();
005 x_4 = func_4();
006 x_5 = func_5();
007 x_6 = func_6();
008 x_7 = func_7();
009 x_8 = func_8();
010 x_9 = func_9();
2018/04/17(火) 22:04:23.99ID:/iau8dFJ
>>8
> どちらでも良い(構わない)なら、統一することが良い(望ましい)書き方だ
なんで?
> 統一は制限の一種といえるし、そうすることで誰にとっても理解しやすくなる
どちらでも良いってことは、人によっては自分のスタイルじゃないものを
強制されるってことですよ? 誰にとってもっていうのは違いますよね?
> どちらでも良い(構わない)なら、統一することが良い(望ましい)書き方だ
なんで?
> 統一は制限の一種といえるし、そうすることで誰にとっても理解しやすくなる
どちらでも良いってことは、人によっては自分のスタイルじゃないものを
強制されるってことですよ? 誰にとってもっていうのは違いますよね?
18デフォルトの名無しさん
2018/04/17(火) 22:34:52.85 >>17
せやな、日本人と韓国人と中国人が同じチームで作業したら
日本人は変数名や関数名に一番わかりやすい日本語名を付けるし
韓国人も中国人も自国語の名前を付けるのが一番効率いいわな
お互いのコードを見てもチンプンカンプンだけど開発効率を考えたらしょうがないよね
C言語のプロジェクトだけど俺はRubyが好きだから関数名は全部#defineでRubyっぽく書くよ
隣の人はCOBOLっぽいコードを書いてて全然わからんけどそれがその人にだけは一番わかりやすいんだからしょうがないね
せやな、日本人と韓国人と中国人が同じチームで作業したら
日本人は変数名や関数名に一番わかりやすい日本語名を付けるし
韓国人も中国人も自国語の名前を付けるのが一番効率いいわな
お互いのコードを見てもチンプンカンプンだけど開発効率を考えたらしょうがないよね
C言語のプロジェクトだけど俺はRubyが好きだから関数名は全部#defineでRubyっぽく書くよ
隣の人はCOBOLっぽいコードを書いてて全然わからんけどそれがその人にだけは一番わかりやすいんだからしょうがないね
2018/04/17(火) 22:52:29.01ID:kfA9f4eg
>>18
変数名に日本語とかヤベエ奴じゃん
変数名に日本語とかヤベエ奴じゃん
2018/04/17(火) 22:53:26.12ID:/iau8dFJ
>>18
それは皮肉かなんかですか?
自然言語の違いは、コーディングスタイルじゃないでしょう?
別の話を混ぜないように
> C言語のプロジェクトだけど俺はRubyが好きだから関数名は全部#defineでRubyっぽく書くよ
これもコーディングスタイルじゃないですね
それは皮肉かなんかですか?
自然言語の違いは、コーディングスタイルじゃないでしょう?
別の話を混ぜないように
> C言語のプロジェクトだけど俺はRubyが好きだから関数名は全部#defineでRubyっぽく書くよ
これもコーディングスタイルじゃないですね
2018/04/18(水) 00:30:32.66ID:CIIgyV33
コーディングスタイルを決めておかないと馬鹿が好き勝手に変なことやりだして、
説明したり、質問したりのコミュニケーションコストがかかるじゃん
そういう糞みたいな無駄な時間をすごしたくないじゃん
一人で開発してるなら好き勝手やればいい
説明したり、質問したりのコミュニケーションコストがかかるじゃん
そういう糞みたいな無駄な時間をすごしたくないじゃん
一人で開発してるなら好き勝手やればいい
22デフォルトの名無しさん
2018/04/18(水) 00:49:52.00ID:52qEUHSf >>21
馬鹿と開発しなきゃいいのに
馬鹿と開発しなきゃいいのに
23デフォルトの名無しさん
2018/04/18(水) 00:50:18.83ID:52qEUHSf なんで馬鹿と開発するんだろ
2018/04/18(水) 01:16:59.78ID:CIIgyV33
働いたことないのかな
2018/04/18(水) 03:30:06.22ID:7zOfv67J
一行のif分でも{}をつけろとか、こういうのはたしかにいらんよな
2018/04/18(水) 07:47:15.76ID:9pUXkCln
同じスタイルになっていれば、似たような処理の中の違いを拾いやすい。
関数分割・統合など既存コードを切り貼りする際にスタイルをどうするか考える必要が無い。
関数分割・統合など既存コードを切り貼りする際にスタイルをどうするか考える必要が無い。
2018/04/18(水) 12:48:57.42ID:/eO0kjhF
>>25
なぜ?
なぜ?
2018/04/18(水) 18:19:59.90ID:H7I9iyKC
>>21
これ。
1人じゃなくても、お互いに信用できる程度の小規模チームならぶっちゃけいらない。
ただいつスポットで愚か者が手を出すことになるか分からんから、ある程度は決めておいた方が後々楽になるっていう経験則を多くのチームが持っているから規約を定めるんだと思う。
これ。
1人じゃなくても、お互いに信用できる程度の小規模チームならぶっちゃけいらない。
ただいつスポットで愚か者が手を出すことになるか分からんから、ある程度は決めておいた方が後々楽になるっていう経験則を多くのチームが持っているから規約を定めるんだと思う。
29デフォルトの名無しさん
2018/04/18(水) 19:32:04.33ID:BsJyLYoy >>24
馬鹿とは働いたことない
馬鹿とは働いたことない
30デフォルトの名無しさん
2018/04/18(水) 19:33:45.48ID:BsJyLYoy2018/04/18(水) 21:32:56.63ID:FLvVXkO/
2018/04/18(水) 22:28:21.42ID:yZY50SSw
一行のifなら
if(・・・) return 0;
みたいにすればOK
if(・・・) return 0;
みたいにすればOK
2018/04/18(水) 22:55:19.15ID:FLvVXkO/
>>32
そういうの見ると死ねって思う
そういうの見ると死ねって思う
2018/04/18(水) 22:58:50.31ID:yZY50SSw
あー、ごめんごめん
if (・・・) return 0;
ifの後にスペースが必要だったねw
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);
こうすべきだよね!
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;
アップルが実際にやらかしたバグ
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/
2018/04/19(木) 20:10:25.45ID:4CSAD5gH
>>45
あんまりまじめに読み込んでないんだけど、初見としてはgoto failが二つあるのが目に付いた
あんまりまじめに読み込んでないんだけど、初見としては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;
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の後に単体の文はかけない
必ずブロックがいる
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
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使うから書いてるときはスタイル意識しない
if文等は一行だけでも中括弧で囲む
配列要素の区切りにはカンマを置く
とか
最近はIDE使うからあんまり意味ない気もする
つかlinterとかformatter使うから書いてるときはスタイル意識しない
58デフォルトの名無しさん
2018/04/22(日) 21:52:22.45ID:Kip6eXci2018/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 と書いて欲しい。
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)
> if(honyarara != NULL)
2018/04/23(月) 12:02:18.74ID:/uUuSWda
>>60
Javascrptだと特に予期せぬバグになるからな、マジで
Javascrptだと特に予期せぬバグになるからな、マジで
2018/04/23(月) 12:17:04.00ID:V8pBnF9b
65デフォルトの名無しさん
2018/04/23(月) 12:17:06.31 >>60
boolに関しては書かないのが美しい
boolに関しては書かないのが美しい
66デフォルトの名無しさん
2018/04/23(月) 12:18:31.07 >>64
全角スペースか半角スペースかタブ文字かくらい一目で見分けが付くようにエディタ設定しとけやwww
全角スペースか半角スペースかタブ文字かくらい一目で見分けが付くようにエディタ設定しとけやwww
2018/04/23(月) 12:24:05.98ID:khho7vfC
if(a.isEmpty()==true)
こんなの書いてたら知能に障害があるとしか思えない
こんなの書いてたら知能に障害があるとしか思えない
2018/04/23(月) 12:24:33.24ID:V8pBnF9b
69デフォルトの名無しさん
2018/04/23(月) 12:31:12.15ID:5T3zNxGs2018/04/23(月) 12:46:16.39ID:6FYf21K/
>!!hogeみたいに二重否定
!!うわー気持ち悪い
if(a.isEmpty())
シンプルにこれで問題ないと思う
もちろんメソッドが真偽値を返す前提で
!!うわー気持ち悪い
if(a.isEmpty())
シンプルにこれで問題ないと思う
もちろんメソッドが真偽値を返す前提で
2018/04/23(月) 12:58:50.36ID:ezZODi8g
Visual Studioはそんなことも出来んのか
やっぱりVimがナンバーワン!
やっぱりVimがナンバーワン!
2018/04/23(月) 14:37:38.62ID:V8pBnF9b
強い気持ちで否定するときに使ってほしいコード
return !!!!!!!!!!!!!!!!!!!!false;
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
76デフォルトの名無しさん
2018/05/23(水) 19:40:52.42ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
IIVY0
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
IIVY0
77デフォルトの名無しさん
2018/07/05(木) 01:50:59.17ID:RfoszcD2 ZXS
78デフォルトの名無しさん
2018/07/05(木) 06:16:45.11ID:OTfP6cvC オブジェクト指向的に考えれば
クラスの内部なんて他のクラスからは知ったことではない
異なるクラスの間でスタイルを合わせる意味は全くない
馬鹿「データベースアクセスクラスとPDFクラスで書きかたが違うんですけどどういうことですか?」
賢者「それらは全く関係がない異なるクラスだからです」
クラスの内部なんて他のクラスからは知ったことではない
異なるクラスの間でスタイルを合わせる意味は全くない
馬鹿「データベースアクセスクラスと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は
そんな当たり前のことも理解出来ないのか>>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
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 頼みの新米に異変 干上がる田んぼに…枯れ始める苗 コメ農家悲鳴「心折れそう」 [ぐれ★]
- 「水道水で食中毒」14人が下痢や腹痛などの症状を訴え 「カンピロバクター」を検出 群馬・神流町 [少考さん★]
- 【ラジオ】永野芽郁、田中圭との不倫疑惑後初の『ANNX』で謝罪「誤解を招くような行動…反省」「本当にごめんなさい」★9 [Ailuropoda melanoleuca★]
- 【Switch2】争奪過熱の任天堂スイッチ2、行き渡るのは1年以上先か 応募条件厳しく予約権プラチナ化 [煮卵★]
- 【アイドル】『≠ME』、暴行行為でイベント中止の状況判明… 20数人に優先入場券を数百枚強奪される トラブル同時多発発生 [冬月記者★]
- 【国際】81億円の抽象画を子どもが損傷、オランダの美術館 [シャチ★]
- __石破、ベトナムの脱炭素に2.9兆円投資「ベトナムの声に誠実に耳を傾けていく」 [827565401]
- コテ粘粘が発狂してコテ粘連呼するお🏡
- 財務省解体デモ、規模が大きくなりすぎて不穏な感じになり始める [606757419]
- 危険物乙四の勉強しているんだが
- 【石破毛髪】 テレ東、来日した外国人旅行者(兄弟)の弟の方を年上扱いしてしまい謝罪 [732912476]
- 【画像】フジテレビに4月に入社した新人女子アナшшшшшшшшшшшш [632966346]