[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 09/18 12:25 / Filesize : 67 KB / Number-of Response : 360
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

コーディングトラブルの約70%はif文などでの{}省略



1 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 14:02:01 ]
自分は1行しか書かないつもりでも
あとでコードを足さなければならない事態なんていくらでもやってくる。
他人がきちんと中括弧補ってくれるかどうかはわからない。

1行文だろうがなんだろうが
最初から中括弧をつけるクセをつけろ

352 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 09:16:07 ]
>>351
妙な && が気になるが、if で書けば
・コードの行数が少なくて済むので見やすい
・スコープがしっかり認識できて良い
・シンタックスハイラトや自動インデントなど IDE によっては switch の対応が微妙
・if の方がコンパイラが最適化しやすい条件になっている
とかとか。分かってて書いている人なら、別に良いと思うけど?

353 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:17:54 ]
if(id == typeA)
if(id == typeB)

if(id == typeA)
else if(id == typeB)
同じ意味だよね?


354 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 01:40:46 ]
>>353
if (id == typeA) {
...
id = typeHoge;
}
の場合は?



355 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 12:06:12 ]
>>353
idがconstなら同じ。そうでないなら、>354の可能性がある。
例えば、この関数では全く同じ。
void func(const int id)
{
if (id == typeA) {
funcA();
}
if (id == typeB) {
funcB();
}
}

356 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 12:18:01 ]
つか、同じじゃないように見えるんだけど?

if(id == typeA)
if(id == typeB)
って、インデント付けると
if(id == typeA)
 if(id == typeB)
だよな? 更に括弧も付けると
if(id == typeA) {
 if(id == typeB) {
 }
}
だよな?

357 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 13:00:09 ]
>>356
>353が>351を踏まえて書いたかどうかだな。
>353が>351を踏まえずに>356の意味で書いたのだとしたら、
if (id == typeA) if (id == typeB)
は(typeAとtypeBが等しいと言う無謀な前提を仮定しない限り)
if (0)と同じになってしまう。

358 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:07:30 ]
べつに無謀な前提ではないんじゃないか
typeA != typeBでもid == typeAかつid == typeBだったりすると怖いけど

359 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 12:42:52 ]
>>358
この流れでその前提は、余りに阿呆過ぎる。
最早>351も>353もいないから真意は不明だが。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<67KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef