コーディングトラブルの約70%はif文などでの{}省略
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/03/09(金) 14:02:01あとでコードを足さなければならない事態なんていくらでもやってくる。
他人がきちんと中括弧補ってくれるかどうかはわからない。
1行文だろうがなんだろうが
最初から中括弧をつけるクセをつけろ
0053デフォルトの名無しさん
2007/03/09(金) 23:41:53VisualC#を使い始めてから>>52になった。
0054デフォルトの名無しさん
2007/03/09(金) 23:42:50if (...)
{
}
else
{
if (...)
{
}
else
{
//do nothing
}
}
0055デフォルトの名無しさん
2007/03/09(金) 23:43:10今のうちに修正した方がいいんだろーかと悩むお年頃
0056デフォルトの名無しさん
2007/03/09(金) 23:45:04あと、人のコードをいじるときは周囲に合わせる控えめな心が大事w
0057デフォルトの名無しさん
2007/03/09(金) 23:47:160058デフォルトの名無しさん
2007/03/09(金) 23:47:180059デフォルトの名無しさん
2007/03/09(金) 23:48:42だけはぶら下げちまえ。
ぶら下げ使ってくれ。
頼むから。
あと、俺は
if(..) {
}
派なんだけど、
if(...)
{
}
派が理解できない。
一行無駄だろ。
0060デフォルトの名無しさん
2007/03/09(金) 23:51:230061デフォルトの名無しさん
2007/03/09(金) 23:54:17ブロックの中でローカルな変数使うときだけは
if (...)
{
変数宣言
あれこれあれこれ
ずびずばぱやぱや
}
ってやりたくなる。
0062デフォルトの名無しさん
2007/03/09(金) 23:54:37if (..) {
} else if (...) {
} else {
}
俺もeclipseだけど。
0063デフォルトの名無しさん
2007/03/09(金) 23:57:10else の後の if を {} に入れてるかどうかで当然後の整形結果も違ってくるんだろ
006458
2007/03/10(土) 00:01:39if (...)
{
...
}
else
if (...)
{
...
}
else
if (...)
{
...
}
0065デフォルトの名無しさん
2007/03/10(土) 00:03:09あほか、とw
/**/ if (...) {
}
else if (...) {
}
else {
}
0066デフォルトの名無しさん
2007/03/10(土) 00:07:12while (i--)
;
こんなの。
0067デフォルトの名無しさん
2007/03/10(土) 00:09:18それはこうやるな
while (i--) {}
0068デフォルトの名無しさん
2007/03/10(土) 00:21:323つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなく自分のプライベートについても指示して欲しい
□奢ってくれる派遣先正社員は尊敬する
□自分の月額金額を知らないのは当然だ
□派遣先正社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、いつまでも派遣を続けることが大切だ
0070デフォルトの名無しさん
2007/03/10(土) 00:25:32こんなのは、「俺の場合」とかじゃなくて、決められたコーディング規則で書け。
0071デフォルトの名無しさん
2007/03/10(土) 00:27:370072デフォルトの名無しさん
2007/03/10(土) 00:27:40趣味でやってる場合はコーディング規則なんてないし、
仕事でやってる場合でもそのコーディング規則とやらはたいてい誰かの「俺の場合」なんだが。
0073デフォルトの名無しさん
2007/03/10(土) 00:28:070074デフォルトの名無しさん
2007/03/10(土) 00:28:24規約がある場面ならそれに従うのが前提だろ。
0075デフォルトの名無しさん
2007/03/10(土) 00:29:200076デフォルトの名無しさん
2007/03/10(土) 00:32:19すぐ言い訳や嘘をつくから一緒に仕事をしたくない。
0077デフォルトの名無しさん
2007/03/10(土) 00:34:12if(条件) 関数1(); else 関数2();
で書く。
0078デフォルトの名無しさん
2007/03/10(土) 00:35:09そんな暇があったらコード書けよwww
0079デフォルトの名無しさん
2007/03/10(土) 00:36:11(条件) ? 関数1() : 関数2();
0080デフォルトの名無しさん
2007/03/10(土) 00:37:32俺の場合、どうしても1行に納めたい場合は if 文使わずに
(条件 && (関数1(), true)) || (関数2(), true);
とかってする。
0081デフォルトの名無しさん
2007/03/10(土) 00:40:160082デフォルトの名無しさん
2007/03/10(土) 00:40:370083デフォルトの名無しさん
2007/03/10(土) 00:44:26詰め込みすぎだw
0084デフォルトの名無しさん
2007/03/10(土) 00:45:100085デフォルトの名無しさん
2007/03/10(土) 00:46:090086デフォルトの名無しさん
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短期的にはそれは認めるけど、今のこの業界は馬鹿を馬鹿のまま放置しすぎ。
■ このスレッドは過去ログ倉庫に格納されています