達人プログラマー(第2版): 熟達に向けたあなたの旅

達人プログラマー(第2版): 熟達に向けたあなたの旅

著者
Andrew Hunt, David Thomas
発売日
2020年11月20日

プログラマーにとってのバイブルでもある達人プログラマーの第2版。第1版の出版から20年ぶりの改定になります。第1版は読んだことが無いのですが、この第2版では、第1版で扱われていた古いテクノロジーをすべて見直して刷新されたみたいです。

本書では役に立つTipsがたくさん載っていますが、自分に響いたTipsを3つ紹介します。

良い設計は悪い設計よりも変更しやすい

第2章達人のアプローチにはETC(Easier To Change)原則という考え方が出てきます。これは簡単に言えば「コードの変更をしやすくする」ことです。

プロジェクトの開発中や運用の段階で、仕様変更が発生することは多々あります。その際に、関数の責務が単一でなかったり、変数名が役割と一致してなかったりすると、修正コストが高くつきます。

なので、日頃からETC原則を意識して、DRY原則や直交性、命名規則などを徹底して「変更用意なコード」を書いていきたいと思った。

アルゴリズムのオーダーを見積もること

これは所謂O記法のことです。あまり、単純なループ記法がO(n)アルゴリズムであることなど、アルゴリズムのオーダーについて意識して書いていなかったので、意識して書きたいと思った。

ただし、時期尚早の最適化には注意が必要で、アルゴリズムの改良はその部分がボトルネックになっている場合のみ行いたいです。

プログラマーの仕事は、人々自身が欲しているものを自らで気付いてもらえるように支援すること

クライアントが最初に語られるニーズは、本当の要求ではないことが示唆されています。経験が浅いプログラマーは言葉通り受けて失敗してしまいます。

達人プログラマーの場合は、クライアントが述べたことから引き起こされる結果をクライアントにフィードバックし、双方で考え話し合うことでクライアントが本当に欲していることを気づかせます。

自分も今は、仕様を額面通りに受け取り実装しているだけの現状なので、そのような支援ができるようなプログラマーになりたいと思いました。

Info