Posted by & filed under 開発.


前回の「オブジェクト指向について語った時に使ったメモ」に続いて、今度はインターフェースについて話しました。

用語や表現が違うだけで結局オブジェクト指向の時と同じことを話していないかと思ったなら、たぶんその直観は正しいのだと思います。自分でもそう思います。

前回も少し言いましたが、「オブジェクト指向」という用語には、過剰な思い入れや大げさな物言いがまわりにまとわりすぎて、快く思わない部分があります。オブジェクト指向設計ぐらいなら許せますが、オブジェクト指向を認知論や世界観と結びつけるような説明は誇大広告めいて好きではありません。

それに比べるとインターフェースは巨大な対象を分割統治していく時の武器として実にわかりやすく、素直に向き合えます。

20代の頃、Lotus Notesの数百万行のコードと格闘していました。デバッガで追えば細部は理解できますし、バグも直せました。しかしいくらコードを読み進めても、全体像をつかむには程遠い感じで、途方に暮れていました。

ある日、何がきっかけだったのか忘れましたが、境界を意識してコードの全体像をつかめばいいのだと啓示を得ました。

当時からメモを書きながらコードを読んでいましたが、啓示以降、メモの取り方が変わりました。それまでは関数や手続きの中身を読んで、その処理内容をメモる日々でした。啓示以降、コードを部品でとらえて、その部品が外部からどう見えるか(=どう使われるか)のメモになりました。

そんなこと(境界を意識したコードリーディング)は当時から知っている人には常識だったのかもしれませんが、不勉強なため実地の中で会得するしかありませんでした。このせいでだいぶ無駄な時間も過ごしたので、新しい人は手っ取り早く感覚を身につけて、次のフェーズに飛んでほしいと思っています。


関連文書:

  • 関連文書は見つからんがな

Comments are closed.