2012年9月14日金曜日

学び方を学ぶ 〜オブジェクト指向の設計と実装を学ぶ〜に参加してきました。 #devlove

学び方を学ぶ 〜オブジェクト指向の設計と実装を学ぶ〜
http://devlove.doorkeeper.jp/events/1605

2012/09/12 学び方を学ぶ ~オブジェクト指向の設計と実装を学ぶ~ #devlove
http://togetter.com/li/371959

はじめに

オブジェクト指向の設計については、座学的なことはあまりやってきていなかったので、しっかりと学ぶべきだと思い参加しました。

学習パターンをエンジニアの学びに適用するためには

会場に入った際に、冊子を頂いたのですがこの冊子はhttp://learningpatterns.sfc.keio.ac.jp/
を製本したものでした。

@takashiibaさんと@masuda220さんのディスカッション形式での進行だったのですが、pattern languageについては全く知らなかったので、まさに浴びるように情報が流れてきた感じがしました。

一番印象に残ったのは、2つのワークショップのことでした。



まずは、学習パターンの40個の項目についてのワークショップですが、これは一度小さい集まりでやってみたいと思えるような内容でした。
40個すべて経験しているような人は、相当稀だと思うのでぜひ話を聞いてみたいところです。
自分の経験談を話すのは、整理することも出来るし、また思い出すことでまた新しい視点を見つけられるのではないかと思います。

次に、ライターズ・ワークショップについてです。
これが印象に残ったのは、書いた人が発表するのではなく、予め内容を読んできた人たちが内容について話し合うということでした。
発表者は、輪から離れて話し合っている内容を聞いて、誤解されているようなことや漏れていたことなどをメモしたりするそうです。

詳しくはhttp://web.sfc.keio.ac.jp/~iba/sb/log/eid154.htmlを参考にしてください。

これは、ソースコードレビューにおいて魔女狩りに陥ってしまうのを避ける有効な手段の一つではないかなと思います。
または、GitHubやBitbucketに公開して、pull requestでいろんな人と議論するのにも似ているのではないかなと思いました。

オブジェクト指向設計と実装の基本スキルの学び方(学習パターンの実践)



9つのルールについては、いろいろなところで見かけて、それに対する議論も盛んに行われていたのも知ってました。
これを習得しようとすると結構きついと思っていたのですが、学習パターンに当てはめることでどのように始めれば良いのか、どのようにこなしていけばよいかといった道筋が見えるようになりました。

パラメータオブジェクトパターンとメソッドオブジェクトパターンの2つは、リファクタリングするようになると自然にそういう思考になっていくと見えてくるパターンだと思います。

現状では、「小さくする」の途中までは出来ているんじゃないかなと考えているので、今後は「役割ステレオタイプ」を覚えてクラスに役割を与えることを実践してみたいと思います。
その上でまだ小さく出来る方法を習得していければと考えてます。

終わりに

今回の内容は、自分にとって新鮮で目からうろこが落ちるような感覚でした。
特に、学習パターンの冊子は、見やすく分かりやすいので時間を見つけて何度も読み込んでみたいと思います。
また、オブジェクト指向の設計については、まず自分で使うツールのルール違反の箇所から始めたいと思います。
講演して下さった井庭先生、増田さん、主催して下さったDevLoveのスタッフの方々、会場を提供してくださったKDDIウェブコミュニケーションズさん、ありがとうございました。