心に残っているJoelの言葉シリーズ(その2)

『漏れのある抽象化の法則』
 自明でない抽象化はすべて、程度の差こそあれ、漏れがある。

多々あるフレームワーク、ライブラリ、ツール・・
「このフレームワークを導入すれば、
こんな面倒なことが、こ〜んな簡単に〜 
どうやってるのって? 細かいことは知らなくてもいいのさ〜」

 
(導入してしばらくたった、ある〜晴れ〜た日〜のこと〜♪)
 
「あれ? これ使った場合に、
この問題解決するにはどうしたらいいんだ?
ん〜? 中で何やってるのかわからないと
解決できそうにないな〜 (--;
って、結局は中身知らないといけないじゃん!!」

そんな経験、ありませんか? だまされた〜とか思ったことありませんか?
何か、私はこの仕事始めてからよくあります。
って、立場的には、今は騙す側か!?w
 
そ〜んなことに悩む私にJoelは下のような答えくれました。

抽象化の漏れに上手く対処する方法は、
その抽象化がどのように機能し、
それが何を抽象化しているのか学ぶことだ。
そういうわけで、
抽象化は私たちが作業する時間を節約してはくれるが、
私たちが学ぶ時間までは節約してくれないのだ。*1

私が取れる行動は、学びやすいようにしておくことですね。

*1:頭の部分だけ言い回しを変えてます