読者です 読者をやめる 読者になる 読者になる

Screaming Loud

研究・プログラミングなど気づいたことをメモをしています

CodeKata 7:どうしたらいいんだろうか??

引き続きCode Kataの和訳を作ります。
リンクはCodeKata: Kata Seven: How'd I Do?です。


前回のKataのいくつかはプログラミングの挑戦だった。この週は実用的なものに戻ろう。

このKataではコード(自分のコードだ!)を批判的に読むことを練習する。いい練習だろう。自分が去年書いたコードの一部分を持ってこよう。コードは適当なサイズに区切られているべきなんだけど、500行とか1000行とかになっていないか?自分がまだ整理されていない状態で書いたコードを持ってこよう。


そのコードに何かしてみる必要がある。3回そのコードを読んでみよう。毎回、違うように読もう。読んで気づいたことはメモっておこう。

  • 1回目は、自分が知っている最高のプログラマが書いたコードと考えて読んでみよう。プログラムの最高なところを全部探そう。
  • 2回目は、自分が知っている最低のプログラマが書いたコードと考えて読んでみよう。プログラムの糞なところを全部探そう。
  • 3回目は、深刻なバグが含まれていて、そのバグを直さないと破産するほど訴えられると考えて読んでみよう。潜在的なバグを全て見つけてみよう。

それじゃあメモを見てみよう。何がいいと思った?いいと思った部分が今日書いたコードにも含まれていた?何を悪いと思った?今のコードにも、その悪いところは含まれていないか?そして、昔書いたコードにバグは含まれていなかったか?見つけたバグに対して直そうと思うものはあった?システム上のエラーを今日でもまだ作っちゃってないかい?

過去の失敗を、次につなげよう!

多分私と読者は似ていない。でも、この練習をする度にいつも驚かせてくれると同時に恥ずかしくて隠れたくなる。時々深刻なバグを見つける。だから、定期的に自分のコードを見返すことを忘れないようにしている。

しかし、自分が6ヶ月前に書いたコードにこの振り返りをやるのは、ソフトウェア開発には最適ではない。だから、このKataを練習するにあたりポイントは、自分が書いたコードを批判的に見直すにはどういう習慣をつければいいか?だ。同僚のコードレビューをするとき違う視点(よいコーダー、悪いコーダー、バグ探し)で、コードを読む技術を使えるか?