- 1 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 14:02:01 ]
- 自分は1行しか書かないつもりでも
あとでコードを足さなければならない事態なんていくらでもやってくる。 他人がきちんと中括弧補ってくれるかどうかはわからない。 1行文だろうがなんだろうが 最初から中括弧をつけるクセをつけろ
- 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;
と書く人がでてきちゃう。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:48:34 ]
- そもそもブロックなしのifに一行追加して、ブロック付け忘れてハマったなんて経験がない。
- 131 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:51:29 ]
- 御意
- 132 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 12:58:06 ]
- >>129
「;」で区切って一行にいくつも文を書く人にはお勧めできない。
- 133 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 13:28:01 ]
- if(cond) i = f(), j = g();
自分一人の開発ならこういうこともする。 読み間違えるとかありえない。
- 134 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 13:29:32 ]
- 無能コーダーにぐだぐだコーディング規則を語られるのウザいから
ソースはIDEが自動整形してくれ。
- 135 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 13:45:22 ]
- 括弧も自動で付けてくれるコードフォーマッタある?
- 136 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 13:45:33 ]
- >>130
if(cond) { hoge(); fuga(); } を if(cond) hoge(); にしようとした形跡のあるコードで if(cond) hoge(); fugafuga(); と、インデントそのままでブレースだけとられたコードではめられた事がある。 じっさいにはもうちょっと長いんだけど。
- 137 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 13:47:01 ]
- if(cond) {
hoge(); fuga(); } と if(cond) hoge(); fugafuga(); にしようとしたコードで if(cond) hoge(); fugafuga(); とね(ちくせう空白つめんな)
- 138 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 13:49:17 ]
- >>135
ない
- 139 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 13:52:23 ]
- お前ら省略って言うけど、Cの場合本来ifの文法は
if( 条件 ) 文; だよな? でもこれだけじゃ機能不足で、複数の文を置きたいから{ }でブロックにするんだよな? 由来とかはどうでもいいし俺も{ }は必ずつける派だけどな?
- 140 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:22:20 ]
- >>139
確かに。 でもなんて表現したらいいんだろ?
- 141 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:29:26 ]
- 実績ある有名なソフトでも、普通に省略してあるんで、品質には関係ない部分だとは思うけどな。
- 142 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:44:58 ]
- >>139
惜しい if (式) 文 だ。最後にセミコロンはいらない。
- 143 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:58:45 ]
- >>141
そもそも品質はテストによって担保するものでコーディングスタイルに依存するものではない。 ただ、よいコーディングスタイルであればミスを未然に防ぎやすいというだけのこと。
- 144 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:03:38 ]
- そもそもスレタイの70%の根拠は何だ!
- 145 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:12:06 ]
- >>144
そんなんどうせ >>1 の経験からのなんとなくだろ。 そんなのいちいち気にしてたら負けだ。
- 146 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:18:05 ]
- だけど、
if(condition) f1(); f2(); というコードに if(condition) f1(); f3(); f2(); なんて付け加えるプログラマっているか?
- 147 名前:146 mailto:sage [2007/03/10(土) 15:20:34 ]
- タブでなくスペースで送ってしまった。
>>146 は無かったことに。
- 148 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:20:36 ]
- >>146
なにがいいたいのかよくわからん。必要応じて を使ってくれんか?
- 149 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:27:40 ]
- >>143
だから、{}を省略してもミスとは関係ないって判断してるんだろ? 有名ソフトで{}を省略するスタイルの人たちは。
- 150 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:33:07 ]
- 一人の天才で組んでるならともかく馬鹿と仕事するときは
馬鹿のレベルに合わせなきゃいけないんだよ
- 151 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:34:10 ]
- >>149
有名ソフトでそうしているからっていう判断はあんまり感心せんな。
- 152 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 15:36:50 ]
- >>150
短期的にはそれは認めるけど、今のこの業界は馬鹿を馬鹿のまま放置しすぎ。
- 153 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 16:05:16 ]
- 向上心が無いからバカ
- 154 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 16:23:46 ]
- >>151
自分の経験も加えて。 2chのななしよりの意見より、実際に成果を出してるやつのスタイルのほうが参考になる。
- 155 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 16:27:33 ]
- 有名ソフトや書籍でも、省略する派としない派がある。
ようは、たいして重要じゃないってことだろ。
- 156 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 17:48:19 ]
- う〜ん、おそらくループ変数なんかのためでしょうし、
そのほうが安全そうですが、そういうソースは見たことないです。
- 157 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 19:51:17 ]
- >>1が70%の確率で{}省略でトラブルという告白スレ
- 158 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:43:29 ]
- >>155
逆だろ 派閥が分かれるってことは懸案事項だってこと
- 159 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:48:25 ]
- 結論
コーディング規則を語るのは最下層の乞食コーダだけ。
- 160 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 00:08:58 ]
- 奴隷につなぐ鎖の強度を語るのはいずれ管理へ回る前途ある者
それを理解できない159は、奴隷以下の乞食か動物
- 161 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 00:15:19 ]
- 奴隷をつなぐ鎖なんて強度が十分であれば何を持ってきてもいい。
管理者はカタログから選んで持ってくればいいだけのこと。 鎖を再生産する管理者はバカ。 つながれてる鎖を自慢をする奴隷はマヌケ。
- 162 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 01:16:33 ]
- 何の比喩なのか、わかったようでわからないレスだな。
- 163 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 01:18:14 ]
- わからないならレスしなくていいよ。
- 164 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 01:20:33 ]
- 逆切れするくらいなら比喩なんか書くなよ
- 165 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 01:46:15 ]
- だそうだ。気をつけろよ>>160
- 166 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 02:01:40 ]
- >>165は>>160か。そんなにくやしかったのか?
- 167 名前:160 mailto:sage [2007/03/11(日) 02:06:05 ]
- 悔しくなんてねーよ、バーカ
- 168 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 02:16:36 ]
- 本物の160だけど、160以外のレスはつけてないけどね。
逆切れしたのはどいつだか知りたい。 あと、>>160の理由もね
- 169 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 02:17:55 ]
- >あと、>>160の理由もね
まちがえた、 あと、>>165-166の理由もね
- 170 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 02:27:14 ]
- 160必死だなwwww
- 171 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 03:58:07 ]
- だから{}でくくっておけばよかったんだ
- 172 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 05:47:17 ]
- int
hoge ( void ){ } みたいなのもやめてほしいな。
- 173 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 05:52:03 ]
- 括弧はともかく int と hoge の間の改行は正規表現で定義と使用が区別できるので vi 使いには便利。
- 174 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 08:34:51 ]
- 正規表現なら別に改行でなくてもいいんでは。
- 175 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 08:48:19 ]
- >>174
vi使ってるときに、 /hoge で普通に検索 /^hoge で定義を検索 ていうことね。
- 176 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 11:34:46 ]
- IDE使えよ乞食
- 177 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:13:56 ]
- 現実には戻りの型の方が関数名より長い事も多々あるからな。
intみたいな極端に短い物以外は改行で統一した方が見やすい。
- 178 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:21:09 ]
- いやそんなにないだろ
- 179 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:27:25 ]
- constもポインタも構造体もクラスもテンプレートも出てこないんですか。
APIやらライブラリ使ってりゃ長い名前の構造体なんていくらでもあるだろうに。
- 180 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 17:24:51 ]
- 構造体なんか返すなよ
- 181 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 17:46:03 ]
- いくら長くても改行するほどじゃないな
というか、返す型情報まで含めてワンセットだから改行したくないなあ
- 182 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 17:49:24 ]
- BSD系のカーネルのソースなんかは改行する事になってるね。
style(9)あたりに書いてある。
- 183 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 18:19:02 ]
- >>180
32ビット値2つとか3つの組は結構返すよ
- 184 名前:デフォルトの名無しさん [2007/03/11(日) 18:50:28 ]
- >>158
どっちか片方に収束しないってことは、どっちでも大差ないんだよ。 どっちかが明らかによかったら、片方のスタイルは廃れてるだろ。
- 185 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 18:54:17 ]
- >>180はC使い
- 186 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 18:56:33 ]
- 構造体自体を返さなくても、それを指すポインタ返せば記述は長くなりますやん。
- 187 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 18:59:02 ]
- >>185
C++でも同じだろ。 (スマートポインタで返すって手も使えるけど)
- 188 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 19:01:56 ]
- >>175
そんなん普通にコメントアウトでラベルつけときゃいいだけやん
- 189 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 19:03:41 ]
- >>188
意味わからん
- 190 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 19:30:28 ]
- >>189
int aho() /* teigi */ とかかな。 aho(); /* shiyou */ 全部に書く気なんじゃない?
- 191 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:13:31 ]
- lint用のコメントみたいだなw
- 192 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:30:30 ]
- >>1
プログラマは信号は守るべきだが 小石を取り除くかどうかはプログラマしだいだ 尊敬するプログラマのソースを読め
- 193 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:35:44 ]
- >>192
尊敬するプログラマはみんな省略してませんでした
- 194 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 20:41:49 ]
- 漏れその昔、ビル・アトキンソンをめちゃくちゃ尊敬してたが、
C系のコードは書いてたのかどうか知らん。
- 195 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 23:10:46 ]
- defineで閉じてるのは軽くいらっとさせるね
if () { ... #if 1 } else #endif ... } GNU関連は関数なんかもこれで閉じてくるよね
- 196 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 23:22:54 ]
- >>195
仕事でそんなコード書いてるヤツ見たら、思わずはり倒しちゃいそう。
- 197 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 00:32:13 ]
- return_type
func_name( arg_type arg ) { } はダメダメってことですね。
- 198 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 01:23:06 ]
- >>197
なんで?
- 199 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 01:47:52 ]
- つ >>172 >>177
- 200 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 02:07:20 ]
- >>197
俺はよくそのスタイルで書く衝動にかられるけど、 引数リストの行末がカンマで統一できないのが 嫌でいつも思いとどまる。
- 201 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 08:01:41 ]
- > 引数リストの行末がカンマで統一
そ、最後ね arg_type1 arg1, arg_type2 arg2, arg_type3 arg3 最後のarg3だけカンマなしでないとエラー。よく引っかかる。 配列の初期化子は最後のカンマOKなのにね。
- 202 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 14:22:14 ]
- >>187
C++ 使ってると C の頃の感覚が麻痺して 抵抗なく string 返したりもできるようになる筈w
- 203 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 15:09:03 ]
- オーバーヘッドなんて高が知れてるし、参照もポインタも使わずに
構造体やクラスを平気で返しちゃうぜ
- 204 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 20:35:18 ]
- C++クックブックって本は、コンテナクラスは 全部引数でやり取りしてた。
- 205 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 21:53:09 ]
- 何でスレ伸びてるの?
- 206 名前:デフォルトの名無しさん [2007/03/12(月) 23:23:25 ]
- >>76
それおまえさんが強要して出させたんじゃないか?
- 207 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 00:04:04 ]
- >>206
スレタイの数字の話じゃねえの?
- 208 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 01:41:45 ]
- ぶら下がりelseに起因するbug発生回数は一回
その他の中括弧の省略に起因するbug発生回数は零回
|

|