2010-07-28

http://anond.hatelabo.jp/20100728220232

それは、使ったほうが分かりやすい例ではあるけど、わかんない人も多いかと思うよ。

それよりも、関数引数にするアルゴリズム関連は 正直 やめてほしい。

長めの関数の中盤ぐらいに書いてあって、その中の値がおかしいのか、デバッグするときに、関数本体がどこにあるのか、

わざわざgrepしなきゃいけないとか、時間もったいないIDEジャンプでもいいけど、IDEサポートあってもめんどうだ。無いことだってあるんだよ。

その関数が随所で使いまわされているなら、まだわかるけどね。

かいている人間は、それでいいのかも知れないけど引き継いでデバッグする方の事も考えて書いて欲しい。

 

巨大なシステムやってると、書く方は量が少ないが、デバッグする方は、システム全部デバッグしてるんだぞと。

そうならないように、モジュール化してくれるのが一番だが、どんなにモジュール化してあっても、どこで起きてるかわからないから、全部見なきゃいけないバグなんて余裕で起きるんだよ。orz

100時間ぐらい、高負荷テストしてると落ちるとかね。当て推量はするけどさ、たのむ、みんな、分かりやすく他人がデバッグしやすく書こうぜ!

記事への反応 -
  • std::copy(v.begin(), v.end(), std::ostream_iterator<string>(std::cout, "\n")); とか書くやつなんなの

    • それがSTLの本来の使い方。 変数宣言すると名前覚えたりするの面倒なんだよ。そっちの方が楽だし、OCamlやFSharpみたいな関数型言語に慣れたら一時変数が苦痛でしかない。

      • それは、使ったほうが分かりやすい例ではあるけど、わかんない人も多いかと思うよ。 それよりも、関数を引数にするアルゴリズム関連は 正直 やめてほしい。 長めの関数の中盤ぐら...

        • 細かくメソッドに分けて単体テストを必ず書くようにするんじゃだめなの?

          • マルチスレッドのタイミング問題とか シグナルの問題とか 高負荷になるとカーネルコールから特殊なエラーが帰ってくるとか 単体じゃ出ない問題もあるし 人が違う、会社が違うって...

        • それは、巨大で100時間も連続で動かすようなプロジェクトにC++を取り上げるほうが間違っているとしか思えない。

          • JAVAで書いてもいいが、システムが巨大という意味にはJavaVMの移植とかLinuxのカーネルにパッチという意味まで含まれているので CだろうとC++だろうと使うことになるのは変わらんし 今時...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん