セッション:Clean Code

スピーカー:Robert Martin

アジャイルマニフェスト署名者であり『Clean Code』、『Clean Coder』の著者でもあるロバート・マーチン氏のセッション。プログラムにはすべて意味があり「Clean Code」とは何かを再考するセッションでした。

WTFとは?

そしてセッションでは、さまざまなイマイチなコードについての考え方が共有されました。以下、直訳になります。

XPを発明したケント・ベック氏は
不安定な構造?良いコードの問題と語っています。

Bjarne Strousrup氏はC++ の開発者。
私は自分のコードがエレガント、効率的になっていくプロセスが好きだ。Clean Codeは一つのことをやりとげてくれる

Grady Booch氏は、オブジェクト指向ソフトウェア開発方法論であるBooch法を開発した人物(via Wikipedia)。彼は
Clean Codeはシンプルで直接的なもの。Clean Codeは散文のようなコードだと話しています。

Michael Feathers氏は『レガシーコード改善ガイド』の著者としても有名な人物。
Clean Codeは、コードを大切にする人によって書かれたコードのように感じているというのは面白い表現ですね。

Ward Cunningham氏は、Wikiの開発者。
分かっていると思うけれど、それぞれのルーチンが自分が予想したとおりの動きをするなら Clean Codeと一緒にいるってこと」。この表現もすてき。

そして、実際にコードを見てレビューしながら「Clean Code」を探求します。

下の画像は実際のコード(1ページめ)

2ページめ。

3ページめ。確かにちょっと読みにくいコードですね。なんとなく処理は伝わるのですが……。
では、実際にリファクタリングをしてみます。

だいぶすっきりしました。テストページの時のロジックが並べられています。

さらにもっともっとシンプルに。

セッションでは、イマイチな部分を参加者と話しながらコードレビューする形式になりました。

ロバート・マーチン氏のセッションは笑いあり、真面目ありで、毎年楽しませてもらえます。明日は彼の「クラフトマンシップ」に参加し「真の職人気質ってなんだろう?」という疑問を探求しようと思います。


Agile2012現地レポーター隊「アジャイルクローバーZ藤原 大