SSブログ

The Boy Scout Rule [プログラマー現役続行]

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)

  • 作者: Robert C. Martin
  • 出版社/メーカー: Prentice Hall
  • 発売日: 2008/08/11
  • メディア: ペーパーバック

読みやすいコードを書くことの重要性については、拙著(『プログラマー現役続行』)の中でも述べていますが、書籍『Clean Code』には、次の記述があります。

It’s not enough to write the code well. The code has to be kept clean over time. We’ve all seen code rot and degrade as time passes. So we must take an active role in preventing this degradation.

The Boy Scouts of America has a simple rule that we can apply to our profession.

Leave the campground cleaner than you found it.

If we all checked-in our code a little cleaner than when we checked it out, the code simply could not rot. The cleanup doesn’t have to be something big. Change on variable name for the better, break up one function that’s a little to large, eliminate one small bit of duplication, clean up on composite if statement.

Can you imagine working on a project where the code simply got better as time passed? Do you believe that any other option is professional? Indeed, isn’t continuous improvement an intrinsic part of professionalism?

ここで述べられているように、些細な改善であっても、常に改善する心がけにより、コードは腐ることなく、時間の経過に伴って良くなっていくことになります。

今日では、テスト駆動開発により、開発しているソフトウェアの機能を確認するためのテストコードが書かれているプロジェクトも多いと思います。そのような開発では、コードの改善による機能のデグレードがないかをテストコードの実行により容易に確認可能であり、このボーイスカウト・ルールが容易に実践できることになります。

また、テストファーストによる開発では、最初にテストコードを作成して、そのテストに合格するように実装してくわけです。そして、すべてのテストに合格したら、実装が終了と思っているエンジニアは多いのではないでしょうか。しかし、そこで実装が終了と思っているようでは、駄目です。

コードがクリーンに書かれているかを見直し、そうでなければクリーンにするためのリファクタリングを行う必要があります。そして、自分で見てもある程度納得できるクリーンなコードになったら、最初の実装が終了となります。誰でも最初からクリーンなコードを書けたりはしません。したがって、テストコードによる動作確認が済んでも実装は終わりではなく、コードをクリーンにする作業を行って実装が終了と考えることは、ソフトウェアエンジニアにとっては重要なことです

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0