- 1 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 14:02:01 ]
- 自分は1行しか書かないつもりでも
あとでコードを足さなければならない事態なんていくらでもやってくる。 他人がきちんと中括弧補ってくれるかどうかはわからない。 1行文だろうがなんだろうが 最初から中括弧をつけるクセをつけろ
- 29 名前:デフォルトの名無しさん [2007/03/09(金) 20:13:45 ]
- >>28
人間のミスのほとんどは、ケアレスミスだよ。 言い方を換えれば、ケアレスミスをしないですむ状況をつくればミスは減る。
- 30 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 20:13:50 ]
- マ板でやれ。
- 31 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 20:23:55 ]
- ケアレスミスを減らすために決まりを沢山作るよりも、
問題がすぐに発見/修正されるような仕組みを作ることが重要。
- 32 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:33:23 ]
- 取り敢えず一切省略しない。
エディタがifを入れたところでブレースを含めて展開してくれるから、面倒もない。
- 33 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:34:48 ]
- 俺は基本的に1行でも{}はつけるけどたまにつけない事もある。
つけない事が原因でバグが入った事は無い。
- 34 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:38:20 ]
- {}無くてもインデント付けてりゃまず見逃さないだろ
- 35 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:42:25 ]
- >>31
少なくとも省略して可読性を悪くする人間は失格dな
- 36 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:45:05 ]
- 省略を許してしまうような言語が悪い
俺は悪くない
- 37 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:47:36 ]
- >>35
あんたにとって可読性が良いコードが万人にとって可読性が良いわけじゃないでしょ。
- 38 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:54:09 ]
- >>37
{}を使った方が可読性が良いって流れなんだけどな
- 39 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:55:34 ]
- だからそれは万人にとってじゃないでしょ。
間延びして読みにくいと感じる人もいるわけで。
- 40 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:03:16 ]
- {}付ける派だが、俺は
if() {   // ... } って開きを綴じと同じレベルに置きたいから無駄になるのが1行じゃなくて2行なんだよな。
- 41 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:06:59 ]
- {{{{{{if(1)printf("Hello, world");}}}}}}
- 42 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:07:51 ]
- 俺は状況によって色々
if (...) { aaaaaa; bbbbbb; } if (...) { int n = 0; aaaaaa; bbbbbb; }
- 43 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:13:27 ]
- >>42
そういう決まりが無いのがトラブルを起こしやすいんじゃない?
- 44 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:13:33 ]
- そもそも省略不可な場合(複数行)が多くて、つけるのが癖になってる。
仮にものすごく低い確率でつけ忘れたってトラブルになる程でもない。 ちょっと実行してみて、あれおかしいな、ああここか修正修正って感じ。 この程度じゃトラブルになりようがない。 ワープロの文書コピー作業じゃないんだから。
- 45 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:16:34 ]
- >>43
決まりはあるけど?
- 46 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:21:06 ]
- 関数の最初の方で早抜けするときはこうも書くな
if (...) return;
- 47 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:40:44 ]
- if (...)
if (...) aho(); else baka();
- 48 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:42:30 ]
- つまり Python を使えばコーディングトラブルの約70%を省略できると(w
- 49 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:50:01 ]
- if(...)
nurupo(); else
- 50 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:03:09 ]
- if(...)
b = a>>49; else gaxtu();
- 51 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:32:32 ]
- 完全記述
if(...) { } else { if(...) { } }
- 52 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:34:33 ]
- こうだろ?w
if (...) { } else { if (...) { } }
- 53 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:41:53 ]
- 以前は>>51のスタイルだったけど
VisualC#を使い始めてから>>52になった。
- 54 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:42:50 ]
- 甘い。正解はこれ。
if (...) { } else { if (...) { } else { //do nothing } }
- 55 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:43:10 ]
- JavaでもC++でも>>52みたいに書いてる学生だけど
今のうちに修正した方がいいんだろーかと悩むお年頃
- 56 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:45:04 ]
- インデントがプログラムの意味とずれてさえいなければ、どれでも問題なっしんぐ。
あと、人のコードをいじるときは周囲に合わせる控えめな心が大事w
- 57 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:47:16 ]
- 心に刻んでおきます
- 58 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:47:18 ]
- プログラミング歴20余年の俺は紆余曲折を経て最終的に>>52のスタイルに至ったんだが。
- 59 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:48:42 ]
- else if
だけはぶら下げちまえ。 ぶら下げ使ってくれ。 頼むから。 あと、俺は if(..) { } 派なんだけど、 if(...) { } 派が理解できない。 一行無駄だろ。
- 60 名前:デフォルトの名無しさん [2007/03/09(金) 23:51:23 ]
- eclipse(デフォ)は>51なんだが、君たちの開発ソフトはどんな記述だ?
- 61 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:54:17 ]
- >>59
ブロックの中でローカルな変数使うときだけは if (...) { 変数宣言 あれこれあれこれ ずびずばぱやぱや } ってやりたくなる。
- 62 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:54:37 ]
- >>60
if (..) { } else if (...) { } else { } 俺もeclipseだけど。
- 63 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:57:10 ]
- >>60 >>62
else の後の if を {} に入れてるかどうかで当然後の整形結果も違ってくるんだろ
- 64 名前:58 mailto:sage [2007/03/10(土) 00:01:39 ]
- else if は俺の場合こうだ。
if (...) { ... } else if (...) { ... } else if (...) { ... }
- 65 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:03:09 ]
- 昔こうやってた時期がある。
あほか、とw /**/ if (...) { } else if (...) { } else { }
- 66 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:07:12 ]
- {}をつけないのは副作用のあるループで本体が空の場合だけかな
while (i--) ; こんなの。
- 67 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:09:18 ]
- >>66
それはこうやるな while (i--) {}
- 68 名前:デフォルトの名無しさん [2007/03/10(土) 00:21:32 ]
- 【ネガティブ派遣根性チェック】
3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。 □派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする □派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい □自社で仕事なんてできるわけがない □派遣労働の問題点の話題が出ると感情剥き出しにして反論する □派遣労働の問題を指摘する人は嫌いだ □派遣先には仕事だけでなく自分のプライベートについても指示して欲しい □奢ってくれる派遣先正社員は尊敬する □自分の月額金額を知らないのは当然だ □派遣先正社員より自分の生涯収入が低いのは当然だ □派遣先に尻尾を振り、いつまでも派遣を続けることが大切だ
- 69 名前:58 mailto:sage [2007/03/10(土) 00:21:55 ]
- >>66
それでも、俺の場合はこうだ。 while(i--) { } 俺も青かったころは while(i--); とかやってたけどね。
- 70 名前:デフォルトの名無しさん [2007/03/10(土) 00:25:32 ]
- 典型的なレベルの低いスレだな。
こんなのは、「俺の場合」とかじゃなくて、決められたコーディング規則で書け。
- 71 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:27:37 ]
- これは恥ずかしいレスだな
- 72 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:27:40 ]
- >>70
趣味でやってる場合はコーディング規則なんてないし、 仕事でやってる場合でもそのコーディング規則とやらはたいてい誰かの「俺の場合」なんだが。
- 73 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:28:07 ]
- プログラミングは研究で使うだけで規則は決められてない
- 74 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:28:24 ]
- >>70
規約がある場面ならそれに従うのが前提だろ。
- 75 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:29:20 ]
- 俺は縦方向にあまり引き伸ばしちゃうと、意味が俯瞰しにくい気がするんだな。
- 76 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:32:19 ]
- 自信のない論拠を補強するために妄想で実体のない数字を提示する奴って、
すぐ言い訳や嘘をつくから一緒に仕事をしたくない。
- 77 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:34:12 ]
- うちは皆さんとは逆にif文にブロック禁止。
if(条件) 関数1(); else 関数2(); で書く。
- 78 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:35:09 ]
- コーディングレベルの低い奴に限ってコーディングルールの話をやたらとするんだよなw
そんな暇があったらコード書けよwww
- 79 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:36:11 ]
- >>77
(条件) ? 関数1() : 関数2();
- 80 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:37:32 ]
- >>77
俺の場合、どうしても1行に納めたい場合は if 文使わずに (条件 && (関数1(), true)) || (関数2(), true); とかってする。
- 81 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:40:16 ]
- コードフォーマッタで括弧も自動で付けてくれる奴ってある?
- 82 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:40:37 ]
- チーム平均レベルが低い問題の100%は>>1が原因
- 83 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:44:26 ]
- >>80
詰め込みすぎだw
- 84 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:45:10 ]
- ていうか手段と目的が入れ替わってる
- 85 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:46:09 ]
- >>78 みたいなヤツが、小汚くてメンテナンス性ゼロなコードをまき散らしてんだろうな。
- 86 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:47:05 ]
- そんなに1行にしたいなら改行しなきゃいいだけじゃん。
- 87 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:48:04 ]
- みんな好きだねこういうスレ。
レスの伸びること伸びること。
- 88 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:49:25 ]
- >>85
お前はコードレビューの時につまんない俺流コーディング規則を得意げに解説したりするんだろw 聞いてる人うんざりだろうなwww
- 89 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:50:02 ]
- >>87
知識が無くても話せるからねw
- 90 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:50:24 ]
- コーディング云々よりも、嘘つきの方が遙かに厄介。
- 91 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:52:52 ]
- >>88
お前にいいものやるよ。 つ [鏡] お前の書き込み見てる人うんざりだから。
- 92 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:58:18 ]
- >>1のように自分のミスを他人のコードのせいにして、非を認めずに言い訳し続けたり、
何の根拠もない数字を持ってきて嘘をついたりする人間がプロジェクトに混ざっていると、 非常に迷惑極まりない状態になる。
- 93 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:03:59 ]
- 有名ソフトや書籍でも、一行の場合は{}は省略してるのは多いな。
まあ、コーディングルールでも、どうでもいい部分だろな。 これは。
- 94 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:10:14 ]
- >>77
えええええええ そんなあほらしい規約があるのか。。 驚愕
- 95 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:14:03 ]
- >>94
多少、あほな規約でもちゃんと一貫して守られてさえいればおk。 まぁ、厳しく管理してない限り、たいていなし崩しになっちゃうんだけどな。
- 96 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:17:27 ]
- >>95
> あほな規約でもちゃんと一貫して守られてさえいればおk。 そんなことねーよ。
- 97 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:19:23 ]
- linuxカーネルは、1行の場合は省略だね。
そうじゃないと、コミッタに罵倒されてパッチを受け付けてくれなかったり。 まぁlinuxの場合、インデントは8でタブで無いといけないという決まりもあるので、 読み間違えることは、まず無いのだが。 自分はドライバ書いてるが、そういう文化があるから、Cの場合は省略することが多いね。 でもJavaでは絶対省略しない。ていうか許している仕様が理解できない。 あと、elif とかをなんで用意しなかったのか、謎でしょうがない。 三項演算子もJavaの場合は使わないな。
- 98 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:30:23 ]
- 既にある規約を、そのやり方ではミスが増えるとか主張して、
自分流のやり方を押し通そうとする奴がいるが、 いままでそんな問題はなかったからとみんなになだめられても、 絶対に考えを曲げずに最後にはふてくされる。 はっきりいってこういう奴は使えない。
- 99 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:39:40 ]
- >>98
>いままでそんな問題はなかったからと ヘボいところは、自分らがいかにヘボいか理解できないからなぁ。 まあ、そういう所でやり方を変えようなんて怖くていえないけどな。 当たり前のことができずにトラブって「なんでやり方かえた→言い出したヤツはだれだ」 って展開になりがち。
- 100 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:39:50 ]
- 現場の状況に合わせて柔軟に対処できない奴はあらゆるトラブルの原因になる。
- 101 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:42:43 ]
- Perlの
〜if ...; って何気に最強だな。
- 102 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:45:51 ]
- >>99
規約を変えたければ管理する側に回ってからにしないと統率がとれなくなるだろ。 主張が通らない時点で、その権限が無いことが理解出来ないのが問題なんだよ。 自分の言っていることが正しいと思いこんで、自分勝手な行動をしているという認識がない。
- 103 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:53:47 ]
- >>102
いや、そこんとこは誰も問題にしてないから。
- 104 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 02:49:26 ]
- クラスの使い方覚えてホイホイ作りまくってたら
「解かりにくいわ!」って殴られた。・゚・(PД`q。)・゚・
- 105 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 03:34:25 ]
- >101
Rubyにもあるな。俺は and 派だが。
- 106 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 03:44:40 ]
- アホなルールもあるこたあるからね。
1ファイルにつき1関数とか、 関数に分けてはいけない(mainだけにしろ)とか、 関数名・変数名は紙ベースの台帳管理で関数はfxxxx変数はvxxxx(xxxxは数字)とか、 こういう規則はどうなんだろう。理にかなっているのかなあ。 こういうのはやめてもらいたいと思わない? こういう底辺な現場からおさらばして10年以上になるけど、 まだこういう現場は残っているのだろうか。 まあif以下の文で複文でない場合も{}で囲むことなんてルールは、 あってもなくてもさほど害がないルールではあると思うけどもね。 境界はどの辺にあるんだろうね。
- 107 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 03:52:37 ]
- >関数名・変数名は紙ベースの台帳管理で関数はfxxxx変数はvxxxx(xxxxは数字)とか、
これは実際に見るまでなかなか信じがたかったが、ホントにやってるとこあるのな。 漏れが見たのはJavaでの開発だった。
- 108 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 03:59:39 ]
- >>77
QB登場以前のBASICかよ。
- 109 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 04:05:35 ]
- C++/Java/C#使いのみんなに聞きたい。
自動変数のスコープを限定するためだけの{}使うよな。な。 仕事で使ったら、「この意味不明な{}は何なのか説明しる」って同僚に詰め寄られたんだが……。
- 110 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 04:38:07 ]
- >109
俺も使うことはある。特にC言語や、1つのメソッドが大きくなる時は。 ただ、Javaであまり必要に感じたことは無い。 privateメソッド複数作って、処理分けちゃうことが多いかな。
- 111 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 04:39:32 ]
- >>109
漏れはけっこう使う。 int n; { // 一時的な変数なんかも使って n を初期化するコード } // n を使うコード とか。 書いてみて思ったより長かったらそのまま別の関数にするけど。
- 112 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 04:56:00 ]
- >>107
そういう職場ってそのうち慣れますか? それともとっとと逃げ出すのが正解ですか?
- 113 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 05:00:10 ]
- >>112
そこに骨を埋めるつもりならがんばって慣れないと。 いずれ他所へ行くつもりなら慣れちゃったら後が大変そう。
- 114 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 05:08:38 ]
- ……後者を選ぶことにします
- 115 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 05:55:22 ]
- >>110
そうしたくなったときというのは、 そこで関数を分けるべき時だと思っているので、 ほとんどの場合は括りだして別の関数に仕立て上げちゃう。 もちろんほんのちょっとスコープを限定したいというときは、 その限りでないけど。
- 116 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 05:58:01 ]
- >>107
それをやっているところはコボラーが仕切っていると考えてほぼ間違いないです。 あいつらオブジェクトがどうのとかいう以前に関数をわける利点とか、 もっと以前にわかりやすい名前をつけるとかスコープとかいうことを知らん。
- 117 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 06:34:15 ]
- このスレおもすれえ
- 118 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 06:36:52 ]
- >116
しょうがないじゃん、COBOLの仕様にはグローバル変数と 引数の無いサブルーチンしか無いんだから…
- 119 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 07:01:39 ]
- うざい上司にはインデントで訴えかけるに限る
hoge.each do |foo, bar| fuga piyo hogera end piyo hoge.to_a.each do |foo,bar| foo poi; bar; poi qwe; end
- 120 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 08:11:08 ]
- >>94 >>108 30年以上前かららしいから、そんなところでしょう。
COBOLで IF CC EQUAL DD PERFORM YY ELSE PERFORM ZZ. の名残だと思う。 テスト、デバックがこの方がやりやすいからというのが積極的な理由。 ただしbreakする時が大変。
- 121 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 10:11:27 ]
- www.mono-project.com/Coding_Guidelines#Where_to_put_braces
2つ目のgoodがbadだぜ
- 122 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:04:17 ]
- Coding Guideline であって Coding Convention じゃないんだな。
それくらい大きなオープンソースプロジェクトともなると、規約にしたところで従わない奴が続出するんだろうな。
- 123 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:09:05 ]
- 厳密にやろうとするなら、コミット前にチェックして(subversionなら
pre-commitフック、CVSだとcommitinfoか?)、従ってなければコミット させないなんてトコもありそう。
- 124 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:18:09 ]
- そこまでして関数名はf+数字を強制とかイヤすぎるなw
- 125 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:31:50 ]
- JavaやC++で省略する奴とは仕事しない
- 126 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:36:39 ]
- C++は省略しても普通だよね。
- 127 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:38:07 ]
- if(flag) break;
- 128 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:40:31 ]
- if(x)
/* 何らかの処理 */; って書くとうっかりしやすいけど、 if(x) /* 何らかの処理 */; って必ず一行に収める習慣にすれば大丈夫な気がする。
- 129 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:47:07 ]
- if(x) 何らかの処理1; 何らかの処理2;
と書く人がでてきちゃう。
|

|