今日の読書 2010-01-25

Apprenticeship Patterns, 1st Edition

引き続きChap.2 Emptying the cup を読む。

知らないことがあったら、それを隠そうとせず、自分がそれについて無知であることをさらけ出してしまったほうがよい。
自分がこれから関わろうとしている仕事について、自分にとって未知のことがあったりすると、相手からの信頼を損なってしまうかもしれない。それを恐れてつい「知らない」ということを隠してしまいがちだ。
しかし自分が無知であることを相手に正直に示し、それについて学習する機会を得るほうが、最終的には良い成果をもたらす。
すべてのことに精通している人などいるわけがないし、大切なのは、自分が特定の分野について無知であり、実際の仕事に取り掛かる前にそれを学習する時間が必要だということ、そしてその学習も仕事の一過程であるということを相手に理解してもらうことが必要だ。

あと、プログラミング言語の学習方法として、テストドリブンな手法を使うと良い、らしい。


Working Effectively with Legacy Code

Ch.1 Changing software を読む。
あるソフトウェアに新機能を付け加えるというのは、単なる追加ではなく、既存のものになんらかの変更をも加えることも意味する。機能追加にせよ、リファクタリングにせよ、どのような機能を追加すべきで、逆に既存のどのような機能をそのままにしておくべきか、しっかり考える必要がある。また修正が完了したら、変更すべきところが正しく変更され、逆に変更すべきでないところが変更されていないことを検証するしくみが必要だ。


その他、C++ とか Haskell とか。