コーディングトラブルの約70%はif文などでの{}省略
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/03/09(金) 14:02:01あとでコードを足さなければならない事態なんていくらでもやってくる。
他人がきちんと中括弧補ってくれるかどうかはわからない。
1行文だろうがなんだろうが
最初から中括弧をつけるクセをつけろ
0086デフォルトの名無しさん
2007/03/10(土) 00:47:050087デフォルトの名無しさん
2007/03/10(土) 00:48:04レスの伸びること伸びること。
0088デフォルトの名無しさん
2007/03/10(土) 00:49:25お前はコードレビューの時につまんない俺流コーディング規則を得意げに解説したりするんだろw
聞いてる人うんざりだろうなwww
0089デフォルトの名無しさん
2007/03/10(土) 00:50:02知識が無くても話せるからねw
0090デフォルトの名無しさん
2007/03/10(土) 00:50:240091デフォルトの名無しさん
2007/03/10(土) 00:52:52お前にいいものやるよ。
つ [鏡]
お前の書き込み見てる人うんざりだから。
0092デフォルトの名無しさん
2007/03/10(土) 00:58:18何の根拠もない数字を持ってきて嘘をついたりする人間がプロジェクトに混ざっていると、
非常に迷惑極まりない状態になる。
0093デフォルトの名無しさん
2007/03/10(土) 01:03:59まあ、コーディングルールでも、どうでもいい部分だろな。
これは。
0094デフォルトの名無しさん
2007/03/10(土) 01:10:14えええええええ
そんなあほらしい規約があるのか。。
驚愕
0095デフォルトの名無しさん
2007/03/10(土) 01:14:03多少、あほな規約でもちゃんと一貫して守られてさえいればおk。
まぁ、厳しく管理してない限り、たいていなし崩しになっちゃうんだけどな。
0096デフォルトの名無しさん
2007/03/10(土) 01:17:27> あほな規約でもちゃんと一貫して守られてさえいればおk。
そんなことねーよ。
0097デフォルトの名無しさん
2007/03/10(土) 01:19:23そうじゃないと、コミッタに罵倒されてパッチを受け付けてくれなかったり。
まぁlinuxの場合、インデントは8でタブで無いといけないという決まりもあるので、
読み間違えることは、まず無いのだが。
自分はドライバ書いてるが、そういう文化があるから、Cの場合は省略することが多いね。
でもJavaでは絶対省略しない。ていうか許している仕様が理解できない。
あと、elif とかをなんで用意しなかったのか、謎でしょうがない。
三項演算子もJavaの場合は使わないな。
0098デフォルトの名無しさん
2007/03/10(土) 01:30:23自分流のやり方を押し通そうとする奴がいるが、
いままでそんな問題はなかったからとみんなになだめられても、
絶対に考えを曲げずに最後にはふてくされる。
はっきりいってこういう奴は使えない。
0099デフォルトの名無しさん
2007/03/10(土) 01:39:40>いままでそんな問題はなかったからと
ヘボいところは、自分らがいかにヘボいか理解できないからなぁ。
まあ、そういう所でやり方を変えようなんて怖くていえないけどな。
当たり前のことができずにトラブって「なんでやり方かえた→言い出したヤツはだれだ」
って展開になりがち。
0100デフォルトの名無しさん
2007/03/10(土) 01:39:500101デフォルトの名無しさん
2007/03/10(土) 01:42:43〜if ...;
って何気に最強だな。
0102デフォルトの名無しさん
2007/03/10(土) 01:45:51規約を変えたければ管理する側に回ってからにしないと統率がとれなくなるだろ。
主張が通らない時点で、その権限が無いことが理解出来ないのが問題なんだよ。
自分の言っていることが正しいと思いこんで、自分勝手な行動をしているという認識がない。
0103デフォルトの名無しさん
2007/03/10(土) 01:53:47いや、そこんとこは誰も問題にしてないから。
0104デフォルトの名無しさん
2007/03/10(土) 02:49:26「解かりにくいわ!」って殴られた。・゚・(PД`q。)・゚・
0105デフォルトの名無しさん
2007/03/10(土) 03:34:25Rubyにもあるな。俺は and 派だが。
0106デフォルトの名無しさん
2007/03/10(土) 03:44:401ファイルにつき1関数とか、
関数に分けてはいけない(mainだけにしろ)とか、
関数名・変数名は紙ベースの台帳管理で関数はfxxxx変数はvxxxx(xxxxは数字)とか、
こういう規則はどうなんだろう。理にかなっているのかなあ。
こういうのはやめてもらいたいと思わない?
こういう底辺な現場からおさらばして10年以上になるけど、
まだこういう現場は残っているのだろうか。
まあif以下の文で複文でない場合も{}で囲むことなんてルールは、
あってもなくてもさほど害がないルールではあると思うけどもね。
境界はどの辺にあるんだろうね。
0107デフォルトの名無しさん
2007/03/10(土) 03:52:37これは実際に見るまでなかなか信じがたかったが、ホントにやってるとこあるのな。
漏れが見たのはJavaでの開発だった。
0108デフォルトの名無しさん
2007/03/10(土) 03:59:39QB登場以前のBASICかよ。
0109デフォルトの名無しさん
2007/03/10(土) 04:05:35自動変数のスコープを限定するためだけの{}使うよな。な。
仕事で使ったら、「この意味不明な{}は何なのか説明しる」って同僚に詰め寄られたんだが……。
0110デフォルトの名無しさん
2007/03/10(土) 04:38:07俺も使うことはある。特にC言語や、1つのメソッドが大きくなる時は。
ただ、Javaであまり必要に感じたことは無い。
privateメソッド複数作って、処理分けちゃうことが多いかな。
0111デフォルトの名無しさん
2007/03/10(土) 04:39:32漏れはけっこう使う。
int n;
{
// 一時的な変数なんかも使って n を初期化するコード
}
// n を使うコード
とか。
書いてみて思ったより長かったらそのまま別の関数にするけど。
0112デフォルトの名無しさん
2007/03/10(土) 04:56:00そういう職場ってそのうち慣れますか?
それともとっとと逃げ出すのが正解ですか?
0113デフォルトの名無しさん
2007/03/10(土) 05:00:10そこに骨を埋めるつもりならがんばって慣れないと。
いずれ他所へ行くつもりなら慣れちゃったら後が大変そう。
0114デフォルトの名無しさん
2007/03/10(土) 05:08:380115デフォルトの名無しさん
2007/03/10(土) 05:55:22そうしたくなったときというのは、
そこで関数を分けるべき時だと思っているので、
ほとんどの場合は括りだして別の関数に仕立て上げちゃう。
もちろんほんのちょっとスコープを限定したいというときは、
その限りでないけど。
0116デフォルトの名無しさん
2007/03/10(土) 05:58:01それをやっているところはコボラーが仕切っていると考えてほぼ間違いないです。
あいつらオブジェクトがどうのとかいう以前に関数をわける利点とか、
もっと以前にわかりやすい名前をつけるとかスコープとかいうことを知らん。
0117デフォルトの名無しさん
2007/03/10(土) 06:34:150118デフォルトの名無しさん
2007/03/10(土) 06:36:52しょうがないじゃん、COBOLの仕様にはグローバル変数と
引数の無いサブルーチンしか無いんだから…
0119デフォルトの名無しさん
2007/03/10(土) 07:01:39hoge.each do |foo, bar|
fuga
piyo
hogera
end
piyo
hoge.to_a.each do |foo,bar|
foo
poi; bar; poi
qwe; end
0120デフォルトの名無しさん
2007/03/10(土) 08:11:08COBOLで IF CC EQUAL DD PERFORM YY ELSE PERFORM ZZ. の名残だと思う。
テスト、デバックがこの方がやりやすいからというのが積極的な理由。
ただしbreakする時が大変。
0121デフォルトの名無しさん
2007/03/10(土) 10:11:272つ目のgoodがbadだぜ
0122デフォルトの名無しさん
2007/03/10(土) 12:04:17それくらい大きなオープンソースプロジェクトともなると、規約にしたところで従わない奴が続出するんだろうな。
0123デフォルトの名無しさん
2007/03/10(土) 12:09:05pre-commitフック、CVSだとcommitinfoか?)、従ってなければコミット
させないなんてトコもありそう。
0124デフォルトの名無しさん
2007/03/10(土) 12:18:090125デフォルトの名無しさん
2007/03/10(土) 12:31:500126デフォルトの名無しさん
2007/03/10(土) 12:36:390127デフォルトの名無しさん
2007/03/10(土) 12:38:070128デフォルトの名無しさん
2007/03/10(土) 12:40:31/* 何らかの処理 */;
って書くとうっかりしやすいけど、
if(x) /* 何らかの処理 */;
って必ず一行に収める習慣にすれば大丈夫な気がする。
0129デフォルトの名無しさん
2007/03/10(土) 12:47:07と書く人がでてきちゃう。
0130デフォルトの名無しさん
2007/03/10(土) 12:48:340131デフォルトの名無しさん
2007/03/10(土) 12:51:290132デフォルトの名無しさん
2007/03/10(土) 12:58:06「;」で区切って一行にいくつも文を書く人にはお勧めできない。
0133デフォルトの名無しさん
2007/03/10(土) 13:28:01自分一人の開発ならこういうこともする。
読み間違えるとかありえない。
0134デフォルトの名無しさん
2007/03/10(土) 13:29:32ソースはIDEが自動整形してくれ。
0135デフォルトの名無しさん
2007/03/10(土) 13:45:220136デフォルトの名無しさん
2007/03/10(土) 13:45:33if(cond) {
hoge();
fuga();
}
を
if(cond)
hoge();
にしようとした形跡のあるコードで
if(cond)
hoge();
fugafuga();
と、インデントそのままでブレースだけとられたコードではめられた事がある。
じっさいにはもうちょっと長いんだけど。
0137デフォルトの名無しさん
2007/03/10(土) 13:47:01hoge();
fuga();
}
と
if(cond)
hoge();
fugafuga();
にしようとしたコードで
if(cond)
hoge();
fugafuga();
とね(ちくせう空白つめんな)
0138デフォルトの名無しさん
2007/03/10(土) 13:49:17ない
0139デフォルトの名無しさん
2007/03/10(土) 13:52:23if( 条件 ) 文;
だよな?
でもこれだけじゃ機能不足で、複数の文を置きたいから{ }でブロックにするんだよな?
由来とかはどうでもいいし俺も{ }は必ずつける派だけどな?
0140デフォルトの名無しさん
2007/03/10(土) 14:22:20確かに。
でもなんて表現したらいいんだろ?
0141デフォルトの名無しさん
2007/03/10(土) 14:29:260142デフォルトの名無しさん
2007/03/10(土) 14:44:58惜しい
if (式) 文
だ。最後にセミコロンはいらない。
0143デフォルトの名無しさん
2007/03/10(土) 14:58:45そもそも品質はテストによって担保するものでコーディングスタイルに依存するものではない。
ただ、よいコーディングスタイルであればミスを未然に防ぎやすいというだけのこと。
0144デフォルトの名無しさん
2007/03/10(土) 15:03:380145デフォルトの名無しさん
2007/03/10(土) 15:12:06そんなんどうせ >>1 の経験からのなんとなくだろ。
そんなのいちいち気にしてたら負けだ。
0146デフォルトの名無しさん
2007/03/10(土) 15:18:05if(condition)
f1();
f2();
というコードに
if(condition)
f1();
f3();
f2();
なんて付け加えるプログラマっているか?
0148デフォルトの名無しさん
2007/03/10(土) 15:20:36なにがいいたいのかよくわからん。必要応じて を使ってくれんか?
0149デフォルトの名無しさん
2007/03/10(土) 15:27:40だから、{}を省略してもミスとは関係ないって判断してるんだろ?
有名ソフトで{}を省略するスタイルの人たちは。
0150デフォルトの名無しさん
2007/03/10(土) 15:33:07馬鹿のレベルに合わせなきゃいけないんだよ
0151デフォルトの名無しさん
2007/03/10(土) 15:34:10有名ソフトでそうしているからっていう判断はあんまり感心せんな。
0152デフォルトの名無しさん
2007/03/10(土) 15:36:50短期的にはそれは認めるけど、今のこの業界は馬鹿を馬鹿のまま放置しすぎ。
0153デフォルトの名無しさん
2007/03/10(土) 16:05:160154デフォルトの名無しさん
2007/03/10(土) 16:23:46自分の経験も加えて。
2chのななしよりの意見より、実際に成果を出してるやつのスタイルのほうが参考になる。
0155デフォルトの名無しさん
2007/03/10(土) 16:27:33ようは、たいして重要じゃないってことだろ。
0156デフォルトの名無しさん
2007/03/10(土) 17:48:19そのほうが安全そうですが、そういうソースは見たことないです。
0157デフォルトの名無しさん
2007/03/10(土) 19:51:170158デフォルトの名無しさん
2007/03/10(土) 23:43:29逆だろ
派閥が分かれるってことは懸案事項だってこと
0159デフォルトの名無しさん
2007/03/10(土) 23:48:25コーディング規則を語るのは最下層の乞食コーダだけ。
0160デフォルトの名無しさん
2007/03/11(日) 00:08:58それを理解できない159は、奴隷以下の乞食か動物
0161デフォルトの名無しさん
2007/03/11(日) 00:15:19管理者はカタログから選んで持ってくればいいだけのこと。
鎖を再生産する管理者はバカ。
つながれてる鎖を自慢をする奴隷はマヌケ。
0162デフォルトの名無しさん
2007/03/11(日) 01:16:330163デフォルトの名無しさん
2007/03/11(日) 01:18:140164デフォルトの名無しさん
2007/03/11(日) 01:20:330165デフォルトの名無しさん
2007/03/11(日) 01:46:150166デフォルトの名無しさん
2007/03/11(日) 02:01:400167160
2007/03/11(日) 02:06:050168デフォルトの名無しさん
2007/03/11(日) 02:16:36逆切れしたのはどいつだか知りたい。
あと、>>160の理由もね
0169デフォルトの名無しさん
2007/03/11(日) 02:17:55まちがえた、
あと、>>165-166の理由もね
0170デフォルトの名無しさん
2007/03/11(日) 02:27:140171デフォルトの名無しさん
2007/03/11(日) 03:58:070172デフォルトの名無しさん
2007/03/11(日) 05:47:17hoge ( void ){
}
みたいなのもやめてほしいな。
0173デフォルトの名無しさん
2007/03/11(日) 05:52:030174デフォルトの名無しさん
2007/03/11(日) 08:34:510175デフォルトの名無しさん
2007/03/11(日) 08:48:19vi使ってるときに、
/hoge で普通に検索
/^hoge で定義を検索
ていうことね。
0176デフォルトの名無しさん
2007/03/11(日) 11:34:460177デフォルトの名無しさん
2007/03/11(日) 14:13:56intみたいな極端に短い物以外は改行で統一した方が見やすい。
0178デフォルトの名無しさん
2007/03/11(日) 14:21:090179デフォルトの名無しさん
2007/03/11(日) 14:27:25APIやらライブラリ使ってりゃ長い名前の構造体なんていくらでもあるだろうに。
0180デフォルトの名無しさん
2007/03/11(日) 17:24:510181デフォルトの名無しさん
2007/03/11(日) 17:46:03というか、返す型情報まで含めてワンセットだから改行したくないなあ
0182デフォルトの名無しさん
2007/03/11(日) 17:49:24style(9)あたりに書いてある。
0183デフォルトの名無しさん
2007/03/11(日) 18:19:0232ビット値2つとか3つの組は結構返すよ
0184デフォルトの名無しさん
2007/03/11(日) 18:50:28どっちか片方に収束しないってことは、どっちでも大差ないんだよ。
どっちかが明らかによかったら、片方のスタイルは廃れてるだろ。
0185デフォルトの名無しさん
2007/03/11(日) 18:54:17■ このスレッドは過去ログ倉庫に格納されています