開発/テスト/デバッグ サイクル

| | コメント(0) | トラックバック(0)

GoogleのUpdate-Engineのテストとカバレッジについて書いてある文書がとてもためになります。

テストしやすいコードを書くことが重要 ・ユニットテストを行いやすいので、バグを発見しやすい ・テストで書いたコードの使用者になることでそのコードのAPIの使いやすさがわかる ・テストしやすいコードは独立性が高い傾向にある ・テストしやすいコードは柔軟性が高い傾向にある

というのはテストユニットを書けば実感できますし

「Cの関数をラップしてもそれはオブジェクト指向じゃないよ」「staticメソッドしかないクラスとか意味ない。namespace使え」なんてのはうん、うんよくいるよねーと共感できます。


またリファクターを行ったほうがよい兆しとして

・コードについて毎日のように悪態をつく
・メソッドや関数、クラスが巨大/複雑になりすぎて変更がしづらい
・クラスの機能が多すぎる
・クラス同士が結合しすぎている
・オブジェクトのテストが「とても難しい」

ということをあげていて、まさしく今見ているコードそのものだったりしてあせりますよ。

シングルトンの多用はよくない、とも主張していてこれはちょっと新鮮でした。説明を読むともっともだとも思えるんですが、うーんなかなか別の方法が思いつかない。

なんかGoogleのプログラマーといえども、(レベルは違うだろうけど)困っているところは同じなんだなぁと親近感を覚えました。特に

develop / test / debug / curse cycle

ってところに。やっぱりデバッグの後には悪態をつく過程が必要なんですな

トラックバック(0)

このブログ記事を参照しているブログ一覧: 開発/テスト/デバッグ サイクル

このブログ記事に対するトラックバックURL: http://hogelab.net/mt4/mt-tb.cgi/1753

コメントする

このブログ記事について

このページは、nakが2008年10月 2日 20:33に書いたブログ記事です。

ひとつ前のブログ記事は「シガーチョコ」です。

次のブログ記事は「アフタヌーン2008年11月号」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

    
Powered by Movable Type 4.01a