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


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

ぱっと見て「ヘタだなぁ」と思うコード その6



1 名前:デフォルトの名無しさん [2007/10/25(木) 03:35:55 ]
禁止ネタ(超既出)
・長い関数
・深いネスト
・グローバル変数
・goto
・memset
・malloc - free
・局所ブロック
・サンプルコードのtypo
・記述スタイル
・関数・変数名

過去スレ
その5: pc11.2ch.net/test/read.cgi/tech/1155315371/
その4: pc8.2ch.net/test/read.cgi/tech/1153312202/
その3: pc8.2ch.net/test/read.cgi/tech/1149986051/
その2: pc8.2ch.net/test/read.cgi/tech/1142741989/
初代 : pc8.2ch.net/test/read.cgi/tech/1141867015/

53 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:47:54 ]
その本は買うべきじゃないという、良い指針になる

54 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:48:56 ]
Wiiはありえない

55 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:49:06 ]
良い本かどうかを見分けるのは実に簡単。
ASSERTの説明が入っているかどうか。

56 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:58:14 ]
ASSERTの説明がなくても良い本はあるだろ、常考

57 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 16:01:21 ]
代入防止に使うと言うのは、変数同士だと意味がなくなるので、==で比較する癖をつけることが望ましい

変数を何と比較しているのか判りやすくするってのは、当該関数の中で、その定数が比較対照になることは決まりきっているので、態々定数を先に持ってくる意味はない
当該関数で、比較に用いられる定数がなんなのか判りにくいのであれば、それは、関数が適切に作られてはいないことを意味するのでは無いだろうか?
また、どうしても定数を最初に出さなければ何を調べてるのか判らないような場合は、if文ではなく、switch文を使用する方が適切なのではないだろうか?


58 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 16:07:25 ]
え、まだやる気?

59 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 16:09:10 ]
まあ大盛況だからなww

60 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 16:22:45 ]
>>57
だからクビになるんだよ
はやく次の仕事見つけろよ

61 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 16:36:06 ]
>>60
自己紹介乙!



62 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 17:44:27 ]
> 代入防止に使うと言うのは、変数同士だと意味がなくなるので、==で比較する癖をつけることが望ましい

これの意味がさっぱり分からない…。何の話をしようとしているのかさえ分からない。

63 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 18:03:48 ]
代入防止ってのは if(a=1) とかの事だろ
ほんとは if(a==1) と判定したかった
でも if(1=a) こうすればコンパイル時に忘れてても分かる

ところが変数同士の比較 if(b=a) はどうしようも無い
というお話

64 名前:デフォルトの名無しさん [2007/10/26(金) 18:08:23 ]
(定数左にする癖をつけるよりは)==で比較する癖をつけることが望ましい

ってこと? し、しかし比較は癖も何も==なわけで。

> ところが変数同士の比較 if(b=a) はどうしようも無い

そんなのは既出どころかスタート地点であって、その上で、
「せめて定数の場合の代入だけは検出できるようにしよう」
ってのが定数左派の主張では?
いつも役に立つ、ではなくて、役に立つ場合があるから左に書く、と。

65 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 18:10:11 ]
というより、

> ところが変数同士の比較 if(b=a) はどうしようも無い

これは、そもそも左も右もねぇ!

66 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 18:13:30 ]
てかこのレヴェルのバグを防ぐのに四苦八苦してる奴って何やってる人?

67 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 18:35:13 ]
左へ受け流す〜

68 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:51:18 ]
左定数は、==を=と記述ミスした場合に検出できる利点あり。
右定数が左定数より優れている点って何?

69 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:52:16 ]
operator のオーバライドが中途半端なときに死ねる

70 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:56:28 ]
ttp://www.st.rim.or.jp/~phinloda/ruins/ruins149.html

71 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 20:01:38 ]
>>68
警告でるから、その利点いらね。



72 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 20:11:59 ]
google code search でググってみると.。

"== NULL" lang:c    約1,240,000件

"NULL == " lang:c   約56,800件

特に利点もないのに、圧倒的少数派のスタイルを選んでる時点でヘタクソ臭が。


73 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 20:21:45 ]
>>50
C FAQに載っているけど、それは定数左置きにダメ出ししているってことを理解できてるか?


74 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 20:25:53 ]
>>72
デブ専、ブス専、フケ専、ハゲ専なんかと同じ人種なんだろう。

自分の感覚が世間とずれていることを認めたがらない。


75 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 21:55:50 ]
雀の涙ほどのどうでもいいメモリを節約するために
テンポラリ用の奇怪な共用体を使い回したりダミーデータの隙間を拝借したりするような奴にはどう言ってやればいいと思いますか
メモリ節約すること自体は大切だし

76 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 21:58:14 ]
そんなしょぼい省メモリ化と可読性、開発効率とのトレードオフは成立しないといってやれ。

77 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:16:11 ]
配列とかで大量にデータを取ったりしてるわけじゃなくて、タダの作業用のローカル変数とか
引数をshortにしてるコードとかもあるな。
よっぽど気をつけてコードを書かないと、すぐintへ変換するコードがはいるから、それで、節約した
2バイトなんて簡単にとぶ。
アライメントの問題もあるな。

78 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:16:18 ]
いつも他人のコードを見ては『このコードだと遅い』とか文句つけるジジイと一緒だな
そのくせプロファイラの使い方すら判らないとか

79 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:39:36 ]
入力がshortの範囲なら引数の型をshortにするのは普通じゃね?
数バイトでも節約したいとか実行速度がシビアだったりしなければ。


80 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:43:44 ]
>>72
"== NULL"
"NULL =="
こんなの多数決で考える頭はもうちょっと働かせたほうがよい

if(変数 = NULL)

が引き起こすバグをどうやって見つけるのか考えた事がある?ない?
難しい正規表現でも作る?`NULL'以外の場合もあるよ。

それより定数を左辺にもってくる方法を身につければいいだけじゃない?

自分がグループリーダーになったとき、部下のミスを見つけられるレベルになれる?

これはただの忠告。>>72はそれでいいならいい。私に累が及ばなければどんなコーディングでも結構。
プログラミングの先生だって×は出さないだろうしなw

81 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:45:53 ]
>>80
ええ? そのバグを防ぐ方法を知らないの?
こういう話のときには必ずでるのに。。。
基礎の基礎だよ。



82 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:49:59 ]
>>80
そんなもんコードチェッカーにかければすぐ見つかるだろ。
まさかコードチェッカー使ってないのか?

83 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:50:11 ]
Pythonを使えばよい

84 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:53:50 ]
>>82
フツーに警告出ないようにコードを書いてるだけで防げるな。
警告出さないようなコンパイラはコードチェッカを使うか、捨てるべきか、悩むこところ。

85 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:57:32 ]
>>80
> こんなの多数決で考える頭はもうちょっと働かせたほうがよい 

コーディングスタイルなんて、よっぽどのセンスと見識があるやつ以外は、自分で考えたりしないで、
一般的なものに従うほうがいいよ。
(どうしてそういうスタイルになっているか、それ以外ではいけないか、考察したりするのは勉強になるけど)

86 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 22:59:39 ]
てか、=と==を間違うや奴って、そんなに多いのか?

> これはただの忠告。>>80はそれでいいならいい。私に累が及ばなければどんなコーディングでも結構。
> プログラミングの先生だって×は出さないだろうしなw

しかし、これは真実w

>>79
実行速度なら、shortよりintの方が有利のはず。


87 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:01:09 ]
>>80
警告を無視する習慣があることはよく分かった
その悪習を直すほうがよっぽどいいよ

88 名前:79 mailto:sage [2007/10/26(金) 23:06:04 ]
>>86
>実行速度なら、shortよりintの方が有利のはず。

だからそう書いてるだろ。よく嫁。


89 名前:80 mailto:sage [2007/10/26(金) 23:26:14 ]
ごもっとも。ちなみに、コードチェッカー自体忘れてたよw

ちなみに、ウチ(60人ぐらいかな?)にはコードチェッカーを使う人は滅多にいない。
先人の知恵を借りれば、文字間違いのエラーぐらいしか出てこないし、そんなのはコンパイルエラーで出てくるから。

コードチェッカーに頼る前にコーディングスタイルに気を配る方がよっぽどよいよ。
その方が、コードレビューやバージョン管理に割く時間が増えるからね。

もっとも、バージョン管理はCVSで一瞬で済んでしまうが

90 名前:80 mailto:sage [2007/10/26(金) 23:28:40 ]
>>87
は?警告は全部潰してますが。
どこを縦読みした?wwwww

91 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:29:00 ]
> 数バイトでも節約したいとか実行速度がシビアだったりしなければ。
ん?
「数バイトでも節約したい」とか「実装速度がシビアだったりしなければ」{shortを使う}って読ませたいのか?
(「数バイトでも節約したい」とか「実装速度がシビアだったり」)「しなければ」{int}って読めるぞ。
人のことを言う前に、ちゃんとした分かりやすい日本語を書け。
設計書や資料を作るときの基本だろ?




92 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:30:17 BE:263040825-2BP(125)]
gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)で
#include <stdio.h>

int main(int argc, char *argv[]){
 int a = 2;

 if(a = 1)
  printf("%s\n", argv[0]);
return 0;
}

というプログラムを-Wall付きでコンパイルしてみたら、
test.c:6: 警告: 真偽値として使われる代入のまわりでは、丸括弧の使用をお勧めします
という警告が出た。まあこれで何か起こってることはわかるだろう。

93 名前:デフォルトの名無しさん [2007/10/26(金) 23:30:23 ]
80はどこの社員だ?
そこだけには仕事は頼まないようにするから、教えてくれ。


94 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:31:00 ]
制御文の代入で警告でないってどこのコンパイラ使ってるの?

95 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:32:41 ]
>>89
アホなコンパイラ使ってるなら、せめてlintとか使えよ。
こわー。



96 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:33:07 ]
「プログラミングの先生」とか言っちゃってる時点で、学生確定

97 名前:79 mailto:sage [2007/10/26(金) 23:38:15 ]
>>91
・普通はshortを使う。
・数バイトでも節約したい場合は>>77のようにintを使った方がよい場合もある。
・実行速度がシビアならintを使った方がよい。

という意味のつもりで書いたが分かりにくかったか。


98 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:40:01 ]
>>80
> が引き起こすバグをどうやって見つけるのか考えた事がある?ない?
最悪、ホワイトボックスの分岐網羅カバレッジ100%のテスト段階で見つかるわけだが。
それより早く見つかったほうがコストが安いから、どうしようという話。
で、ちゃんとしたコンパイラかlint使えって結論。

99 名前:80 mailto:sage [2007/10/26(金) 23:41:10 ]
>>92
何のデモか知らないけど、わざわざ-Wallで例示するなんてヒマなんだね。

>>93
いや、もう遅いかもしれんよwww

>>94
警告は全部潰してるよ。
そもそも、コーディングスタイルで蹴ってるからそんな警告があること自体知らなかった。
君ら無駄な努力払ってるね。

>>96
妄想強すぎ

100 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:41:24 ]
>>89
コードチェッカの類を使ったことないだろ。

101 名前:デフォルトの名無しさん [2007/10/26(金) 23:41:48 ]
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ     >>80
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /



102 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:42:42 ]
>>97
ループ変数に、いつもshort iとか書いてるのか?

いやすぎる。

103 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:44:57 ]
>>99
> そもそも、コーディングスタイルで蹴ってるからそんな警告があること自体知らなかった。

どんだけ情報弱者なんだよ・・・

104 名前:デフォルトの名無しさん [2007/10/26(金) 23:45:03 ]
>>80 は Lattice C 使ってるとか?

105 名前:79 mailto:sage [2007/10/26(金) 23:46:50 ]
>>102
>>79に引数って書いてるだろ

106 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:47:00 ]
>>99
おまえの、定数を左にもってくるってのも、コーディングスタイルじゃなくて、コンパイラに頼って
バグを見つけるって発想だろ。 >>80
警告出るから、そんなことしなくていいってがコンセンサスになってるから >>72 みたいな結果になるわけよ。


107 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:49:29 ]
if (定数 == 変数)と書くコーディングルールがある会社、ということで、技術力が低い会社だと
レッテルを貼られるリスクを考えたことがないようだ。

108 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:50:08 ]
このスレにぴったりのネタ会社だ

109 名前:80 mailto:sage [2007/10/26(金) 23:54:01 ]
>>100
コードチェッカーの類?最近は全くないね。
VC++6、VS2005、gcc3.4.4などまあ常識の範囲内のコンパイラ
最近はやむを得ずSDCC使ってるけど、エンバグすら直ぐ分かっちゃうのでlint通す意味ナシ。

110 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:54:52 ]
>>79
普通じゃない

111 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:55:36 ]
>>109
日本語でOK



112 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:57:28 ]
>>80
if (0 = a)はコンパイラに任せるのに、その他の複雑なバグが簡単に見つかるコードチェッカーは使わないと?

わけわからん

113 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:59:10 ]
>>109
コードチェッカの意義とか理解してないっぽいな。。。

114 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:59:26 ]
言い訳するにしてももうちょっと熟考すればいいのに

115 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:00:09 ]
>>80
なんか必死だけど、どれだけ言葉を重ねても、レベルが低いことを証明することになるだけだぞ。

116 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:00:35 ]
>>107
ほう、そんなリスクがあっても引く手あまたのウチの会社って凄すぎるってこと?wwww

>>106
どういたしまして。負け犬の遠吠えと受け取っておきますm(_ _)m


117 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:01:29 ]
>>112
コードチェッカが無意味なくらい完璧にコードを書けるなら、定数を左にもってくるとか、
姑息なテクニックを使わなくてもいいよな。

118 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:03:08 ]
コードレビュー文化があって、コードチェッカーが使える環境なら、最初は使ってて
使わなくなるなんて考えられない。

ライセンスの関係で全員がコードチェッカーを使えないとしても、レビュアーがコードチェッカーを
使うことで、レビューの工数をかなり減らせる。なので、以前使ってて、使わなくなるなんてやはり考えられない。

つまり、部下のミスを見つけてなんかいないってこった。
あ、部下がいないという線もあるな。

119 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:04:48 ]
タコなコードチェッカーだったからうざくて使うのやめたってならわからなくもない

120 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:05:35 ]
コードレビューなんてしてないんだろ

121 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:06:44 ]
このスレで>>80が頑張る意味がわからない



122 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:07:03 ]
右定数を見つけると最高レベルの警告を出す80謹製コードチェッカだったら使わなくなるかもしれない

123 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:07:24 ]
コンパイラがどういうときに警告出すかとか知らないってのもどうかなぁ。
コーディングルールを守ってるから、警告でなくて知らないって話だけど、
そういうのは教条的に守るんじゃなくて、どうしてそうなってるかとか考えたほうがいいよ。

124 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:09:43 ]
>>121
自分がレベル低いなんて夢にも思ってなかったから、現実を突きつけられて自我の危機に陥ってる。

125 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:12:01 ]
定数が左ってのは、警告を出してくれるコンパイラやまともなコードチェッカーが無かった時代の名残だよな。
今ではまるで意味が無い。

126 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:12:16 ]
if (定数 == 変数)なんて、いわゆる「バカよけのテクニック」だからね。
それを使っているからといって、声高に自慢するようなことではない。

127 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:13:59 ]
前スレだかで馬鹿にしすぎたからムキになっちゃったんだろ。
お前ら自重しろ。

128 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:14:08 ]
袋叩きwww

129 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:15:42 ]
80は、左に置きたいから置いているようにしか思えない。

コンパイルエラーになることを理由にしているようだが、
それは右に置いてもコンパイラの警告が出るので互角(散々既出)。

となると、ほかに理由を提示しない今、残る理由は各人の好み。
そこで80は左を選択したということだろう。



130 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:19:37 ]
>>123
・この警告は出るのが当たり前、気にするな
・この警告は出てもいいけど本当に大丈夫かチェック汁
・この警告出したバカは氏ね
みたいに警告のランク分けとかするよね。


131 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:20:02 ]
単に後に引けなくなってるだけだろ。



132 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:23:50 ]
>>129
> それは右に置いてもコンパイラの警告が出るので互角(散々既出)。

単にこれを知らないだけだと思うよ。

133 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:24:11 ]
私はコードチェッカというものをいままで使ったことがありません
そんなに有効なものですか?

有名なものではどんなものがありますか?

134 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:27:49 ]
OSと言語は?

135 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:30:19 ]
>>133
ttp://www.swtest.jp/tools.html

静的解析ツールでぐぐれ

136 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:32:31 ]
べつに必要としているわけではなくてどのようなものか知りたいので
何でもいいですが、自分の普段の仕事ではWindowsでC++です
Cygwinも常用しているのでUNIX系でも試せると思います

137 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:36:39 ]
どんなものか知りたいなら、Cygwinでcheckをインストールして、Cで怪しげなコードを書いてチェックしてみろ。

138 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:37:42 ]
間違えた。checkじゃなくて、splintだ。

139 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:41:10 ]
WindowsのC++なら、ここから体験版をゲットするんだ。
ttp://www.techmatrix.co.jp/products/quality/download/index.html

140 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:41:52 ]
ぱっと見て「ばかだなぁ」という奴を相手にしなくていいから、
「ヘタだなぁ」と思うコードを貼ってくれ。

141 名前:133 mailto:sage [2007/10/27(土) 00:42:06 ]
>>135
あ、QACとかのことですか
使ったことはないけどプレゼンは受けたことがあります

そのときは、馬鹿に使わせるのは怖いツールだなと思いました



142 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:43:28 ]
C++用のフリーな静的解析ツールは知らないなぁ・・・

143 名前:デフォルトの名無しさん [2007/10/27(土) 00:44:18 ]
ほれ。爆弾投下!

test.cpp
 if (a = 0) printf("x");

D:>bcc32 test.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
test.cpp:
警告 W8060 test.cpp 7: おそらく不正な代入(関数 main() )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

>>80
わざわざひねくれて if (0 == a) としなくても、ちゃんと警告出してくれるから。
ミスを防ぐため、というのは全然理由にならない。

「定数は左」って書き方って、15年以上も前に「Cマガジン」って雑誌が流行らせたんだよね。
当時の古いコンパイラは上のような警告は出していなかったかもしれない。
でも今は無料のタダのコンパイラでさえ警告出すようになって、「定数左」は意味の無いものになった。
15年も前に決着が付いて廃れたことを、いまだに「神の福音」のように信じ込んでいるヤツがいるんだな。
おまいは隠れキリシタンかw


144 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:47:00 ]
釣られるなよおまいら……。単に自作自演なのかもしれんが。
ところで、見てくれ、このコード。(実物はJavaで、本質的な部分だけ抜粋してるのだが)
おまいら、レビュー以外でこんなコードが涌いて出るのを防ぐ手段、知らないか?

void hoge(int a, int b) {
 bool result = false;
 for (int i = 0; i < 3; i++) {
  if (a == b - i) {
   result = true;
   break;
  }
 }
 if (result == true) {
  cout << "OK\n";
 } else {
  cout << "NG\n";
 }
}


145 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:47:21 ]
長文お疲れだけど、それみんなもう知ってるから・・・

146 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:55:08 ]
>>116
うん、君の会社が凄すぎるから、下民たちの為に会社名を教えてくれ。

> 警告は全部潰してるよ。
コンパイラの設定を変更して、特定の警告は表示させないようにしたのか?


147 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 00:56:08 ]
「みんな」 に 80 は含まれていないが。

148 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:00:53 ]
>>144
何を問題にしているのか分からないけど。
if (result == true)を気にしているのだとしたら、全員にメールでも出したら?
一番いいのは、タコなコードを書く奴は、片っ端からプロジェクト外に追放することなんだけど。
それをやったら、誰も残らなかったなんてのが笑い話じゃなくなるからな。


149 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:02:49 ]
>>144
b-a が0〜2ならOK,それ以外ならNGを出力ってこと?
不等号演算子とか教えるといいんじゃないかな。

150 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:05:15 ]
どうしようもなく汚いコードのところで仕事をしたとき、警告がでまくったけど、
ま、こんなもんかと思って、放置しておいたら、上のヒトの目にとまって、
警告が出てるじゃないかと注意されてしまった。

で、警告の原因を調べたら、そのコードを動かす環境にインストールされてる、その部署の
ライブラリがバージョン古くて、プロトタイプが、K&R方式になってやんの。

仕方ないので、makefileを書き換えて、警告を全部抑制した。

151 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:05:37 ]
つまり

if (b - a < 3)
OK;

ということでしょ
境界の辺が自信ないが



152 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:19:53 ]
>>151
b<aだとダメじゃね?

153 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 01:20:11 ]
プロトタイプ宣言はK&Rにはできないんじゃないだろうか






[ 続きを読む ] / [ 携帯版 ]

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

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