ライト、ついてますか

引越しで本棚を整理というよりも、出し入れしてたら、懐かしい本が出てくる出てくる。
ちょっと読みふけってしまった。
ライト、ついてますか―問題発見の人間学パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法


他もあるけど、今日はこの2冊。
(これネタ切れしたときにいいなwwww 今気づいたw)


ライト、ついてますか はかなり前に買って読んだきり見てもなかった。
タイトルにもなっているライト、ついてますか?の内容ははっきり覚えてるんだけど、
ほかがイマイチ理解できてなかったみたい、いま見たらかなりいいこと書いてるね、これ。
最初のエレベータの話は、問題の本質について語っている。
それは誰の問題か?問題は何か?解決しなければならない問題はなにか?
など、基本的なことを教えてくれる。 案外ここをすっとばして、問題解決にやっきになることがあるので注意(自分)


パターン指向リファクタリング入門はまだ会社にいたときに、
id:kimabuuさんがやってた勉強会に参加してたときにやった本。
(当時、私は派遣で同じプロジェクトに偶然にもいた)


名著、リファクタリングを読んで物足りないなと思ったら読むべき一冊。
この本の本質とはあまり関係ないのだが、
私はこの本の中で紹介しているコード片以上に感動したコードに出会ったことが無い。
それは

november(20, 2005);

これには感服。命名のパワーに気づいた瞬間だった。


最近、あんまりにも開発効率をあげるために、フレームワークが頑張り過ぎている気がしなくもない。
(頑張るのは開発者としてはありがたいことで、いいことなんだけど)
最近のフレームワークは、よく分かる上司がよく分からない部下に「ああしなさい」「こうしなさい」「それはおまじないです」
と言ってCoCの規約を教えとけば本質を知らずに作れちゃう。
これって、素人がEclipse(IDE)使ってたらなんか作れちゃった。に近い。
実際そういう人を何人か見てきたが、インデントの概念すら分からない人がいる。(本当)
ざーっとコードを買いて最後に全選択→コードフォーマットをして体裁を整えるというすご技には参った。


あー本質は理解してないのね・・・と。


CoCの悪いところの一つは、ハマった時に原因を究明するのがめちゃくちゃ大変になることで、
そういうときは、誰かに助けを求めるか、(それがOSSなら)フレームワークの海に漕ぎ出さなくてはならない。
しかし、フレームワークはそれはもうしっかりと作ってあるので、完全なオブジェクト指向だし、
デザインパターンを巧妙に使っているだろうし、はては、DIなど訳の分からないことが山盛りになって襲ってくる。


私は、この現状をよく思っていない。
フレームワークを使用する上で、そこに用いられている技術を習得していることは最低限必要だと思っている。


プログラマの敷居は高くて良いのだ。低くする必要はどこにもない。
敷居を低くすることで、どれだけの有能なプログラマが「火消し」に回されることか。


この現状をどうやったら打開できるのか。
私一人で変えていく力があるとは思っていないが、
理想の世界を書いてみる。

・企業は素人同然を雇わない
プログラマの派遣を制限する
 なぜ、素人同然を雇い、短期集中で仮面を被せるのか。答えは派遣である。
 言い方が悪いが、派遣業ほど適当にやれて楽なものはない。


・勉強会を励行する企業文化を作る。
 ただ、励行するだけではダメ。企業文化として勉強会あたりまえ。
 セミナー参加あたりまえにならないと。
 はてなGoogleに倣え!