C言語系のif…else…って超絶読みにくいからif…だけの式に書き直せ

サムネイル
1 : 2024/05/19(日) 18:32:27.027 ID:CtmDxxOX0
if (IsFoo) { … }
else { … }
じゃなくて
if (IsFoo) { … }
if (!IsFoo) { … }
こうするだけで超絶読みやすくなる

elseを使ってはいない

2 : 2024/05/19(日) 18:33:37.288 ID:NW5M8vSN0
ソース共有してるやつに家
4 : 2024/05/19(日) 18:33:54.234 ID:k0NGAam90
そう思ってる人ほとんど居ないからお前が他の人の書き方に慣れろ
5 : 2024/05/19(日) 18:34:14.208 ID:DFYfCEiW0
揉めそうなネタ
6 : 2024/05/19(日) 18:35:54.531 ID:bSeZE00G0
いやいるだろ
7 : 2024/05/19(日) 18:35:57.464 ID:vhGPIGq40
わからなくもない
8 : 2024/05/19(日) 18:36:26.305 ID:0/b/kcEr0
可読性が高い
10 : 2024/05/19(日) 18:36:54.081 ID:0txz7a8u0
おそくなる
11 : 2024/05/19(日) 18:37:24.602 ID:fazJ3Fgl0
最初のifの中でisFooの値が変わったら2回とも処理しちゃうだろ
23 : 2024/05/19(日) 18:50:40.918 ID:CtmDxxOX0
>>11>>15
こうすればいいだけじゃね?めっちゃ読みやすい
if (IsFoo) { … } // 一行目
if (!IsFoo) { … } // 二行目
if (IsFoo) { IsFoo = !IsFoo } // 三行目
if (!IsFoo) { IsFoo = !IsFoo } // 四行目
26 : 2024/05/19(日) 18:51:42.936 ID:5GZRdtyy0
>>23
読み難いしいちいち判定してて遅そう
31 : 2024/05/19(日) 18:55:06.822 ID:NNc6if8p0
>>23
ごめん何がしたいコードなのかさっぱり分からんわ
34 : 2024/05/19(日) 19:02:12.663 ID:CtmDxxOX0
>>31
>>32
こうじゃね?
if (IsFoo) { …; return;} // 一行目
if (!IsFoo) { …; return; } // 二行目

こうだよ!こうすればIsFooか!IsFooの中でフラグが反転してもバグらない

32 : 2024/05/19(日) 18:58:16.597 ID:KpG7VK520
>>23
IsFooを処理後に反転させたいのか知らんがそれ元に戻ってないか?
33 : 2024/05/19(日) 18:58:46.163 ID:CtmDxxOX0
あ、>>23だとダメだな
いやでも何とか回避できるんだよ
12 : 2024/05/19(日) 18:37:31.628 ID:HsLEMeC90
動作効率悪そう
13 : 2024/05/19(日) 18:39:22.723 ID:Sze7kvOH0
読みにくくなるだろ
16 : 2024/05/19(日) 18:43:43.326 ID:CtmDxxOX0
プログラミング初心者の時にif…else if…else….で分岐しますって習っただろ?そんなの全部ウソだから
if…の一本だけで十分いけるから

elseとか書くのは単なる“カッコつけ”なんだよ

19 : 2024/05/19(日) 18:46:54.799 ID:0/b/kcEr0
>>16
情報科学の先生に怒られそう
22 : 2024/05/19(日) 18:49:10.221 ID:5GZRdtyy0
>>16
elseがかっこいいってどんな価値観だよ
20 : 2024/05/19(日) 18:47:09.166 ID:NNc6if8p0
そうだな
クラスを分けるのもメソッドを分けるのもforで回すのも全部甘えのカッコつけだな
21 : 2024/05/19(日) 18:47:37.885 ID:0dO5fUsa0
ガード節ってやつ?
24 : 2024/05/19(日) 18:51:03.337 ID:dgaVUEx40
同じ条件を2箇所に書く……バグの元だと思う
25 : 2024/05/19(日) 18:51:26.449 ID:sj/aCYzF0
後置if大好きrubyist高みの見物
27 : 2024/05/19(日) 18:52:15.875 ID:g6bVPYqtd
言いたいことは分かるが理系の中の理系って感じだな

あ間違えた理系じゃなくてアスペ

28 : 2024/05/19(日) 18:52:46.738 ID:0mvoYcmC0
分岐がわかりにくくなるだけだろ
コードレビューでそんなの出てきたら多分指摘して直してもらう
30 : 2024/05/19(日) 18:55:02.995 ID:dgaVUEx40
もうif文やめて全部switch文にしろ
35 : 2024/05/19(日) 19:03:24.367 ID:CtmDxxOX0
そうだよ俺のプログラムのソースコードの中ではreturnしてたの
いきなり言われたからわからなかったじゃないか
37 : 2024/05/19(日) 19:07:00.100 ID:CtmDxxOX0
関数内でreturnが伴う理由で一つの関数を短めに書くことになるから可読性がさらに上がる
38 : 2024/05/19(日) 19:08:13.973 ID:/6VhLsIEM
100%修正漏れ出るわ
39 : 2024/05/19(日) 19:09:55.125 ID:Zak0IeSA0
elseifアンチはともなくelseアンチは初めて見た
40 : 2024/05/19(日) 19:10:44.059 ID:Pl/dyR7k0
機械語ではただのジャンプかブランチになるだけだからelseを使わないことによるデメリットはない
インデントが無駄に増えてバグの温床になるから許されてるなら使わない方が良いと思うね
41 : 2024/05/19(日) 19:11:47.929 ID:0/b/kcEr0
2回処理を行う点と疑似的な分岐な点でゴミじゃね

コメント

タイトルとURLをコピーしました