セッション: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」 藤原 大