素人プログラマの不安
うちの会社に元プログラマの人だけど、「オブジェクト指向ぎらい」を自称する人がいる。オブジェクト指向って物事を自然に表現するための工夫だからそんなに毛嫌いする事もないと思うんだけど。
ただ、大学で専門的にオブジェクト指向について勉強したわけではなく、なんとなく先輩の見よう見まねでやっている自分としては、よく不安になることがある。
これがクラスと呼べるのか?もっと別な枠組みでクラス設計すべきだったんじゃないのか?これくらいならクラスにする程のことはないだろう、だけど、後から後悔しないかな?など、不安は尽きない。素人がプログラマなんてなるもんじゃないなぁ。などと思ったりすることもある。そして本を読みあさる。
しかし、2年たって振り返ってみて、一番成果が上がったときというのは、ただひたすら同じアプリケーションのコードに取り組んでいるときだった。ちなみに一番進まないのは、もっと綺麗に書けるはずだと、えらい人のサンプルはないかネットで探してるとき。
うちは3人しかプログラマがいないので、たいていアプリケーションは一人でつくる。人に引き継ぐコードを書こうと思う場合は、いろんな事例を参考にすべきだと思うけれど、今作ってるやつはすでに人に見せられるような状態じゃない。すでに稼動しているので、思い切った変更ができず、初期にどうしようもない作りこみをしてしまった部分はもはやどうしようもなくなっている。別の仕事が割り込んで2週間コードを見なければ、もう一度見たときに確実に頭が混乱する。それでも2,3日コードを追っていると何とか頭の中にマップが描かれてくるようで、何をするにはどこを見ればよいか、ここのコードを変更した場合、どれだけの深さの影響があるのかが、イメージできるようになる。それまでがものすごくストレスなわけだけれど、何とかはなる。
こんな記事を見つけた。
脱オブジェクト指向のススメ
http://blogs.itmedia.co.jp/tamaki/2006/06/post_57ab.html
開発のスキルをUPさせるためには、とにかく、コードを書くこと。寝ても覚めてもコードを書くことです。そうしているうちに、いつの間にか、オブジェクト指向も身に着く(というか、その本質が何かに気づく)でしょう。
まさにその通りだと思う。とかく、不安になると知識に走る私を正しくプログラマに導いてくれた、現場25年の上司に感謝。
けど、Rubyのコミュニティを傍観していると、いつかRubyの開発者の1人になりたい、美しいコードを追求したいという願望もでてくる。きっと現場バリバリのプログラマではRubyを生み出すことは出来なかっただろうとか、もともと学者にあこがれていたものとしてはそうはなりたくないなぁなんて思ったり。
そういうのは、人間として未熟だからだという声が聞こえてくる気がする。