Using Metrics to Take a Hard Look at Your Code

11/7 2:10-2:55 @ Room2 by Jake Scruggs

毎日なにかをするのができないのや得意なのをひそかに疑わしく思えないのは、人間の本性の面白いところである。なぜ誰もが自分はよいコードを書いてると思っているかについて考えてみるのは長いみちのりである。この自己欺瞞と戦って、厳しい目をあなたのアプリに向けるのにメトリクスを使うことができる。このセッションでは、あなたの Rails プロジェクトがほんとによいかをいかに測るかについて議論する、そして、まずい部分をどのように直すかについて。

日次のメトリクスビルド (CruiseControl.rb によって毎日はしる) を使うことで、アプリのなかの最悪のメソッドのリストを集められる。そしてそれから、それらのメソッドを反復してリファクタリングする時間をとることができる。セッションのなかでは、問題を特定する 4つのツールを紹介する。

とくに metric_fu (Rails プラグイン) を使うなら、いずれもとても使いやすい。どこに問題があるかをいったん把握したなら、そこと戦わなければならない。例を示しつつ、議論してみよう。

  • なぜ 90% (あるいは 100% でさえ) テストカバレッジはバグに対する銀の弾丸になりえない?
  • Saikro と Flog はどのように複雑性を測っているのか、それぞれのメリットは。
  • 複雑性が問題なしとなるのはいつか
  • とってもいいとき以外、'inject' がだめなのはなぜか
  • メタプログラミングが余分な複雑性に値するかどうかを把握する戦略
  • 十分によいカバレッジとはなにか
  • 貧相なメトリクスの数でビルドがこける
  • Carlin の法則 (あなた以上に遅く運転するひとがいるのに気づいてしまったら、大馬鹿ものだ) をなぜいつも覚えているべきなのか?

あなたがマニアックである以上に誰かが速い?

About Jake Scruggs

Jake taught High School physics for 7 years, then he apprenticed at Object Mentor in the summer of
2004. Somehow he talked his way into ThoughtWorks where he was on 6 (2 Java, 4 Rails) projects in
the last 4 years. He writes a technical blog at: http://jakescruggs.blogspot.com and has published
a Rails plugin at: http://metric-fu.rubyforge.org/ Jake is currently a consultant at Obtiva.