エンジニアなら必読と言えるくらい名著である「達人プログラマー」の書評を書きました。
1999年の出版された本ですが、2019年に改定されて第2版として発売されています。
ITエンジニア本大賞2022の技術書部門大賞にも選ばれた書籍です。
ジャンル | ソフトウェア開発全般 |
評価 | |
難易度 | |
対象者 | 初級 ~ 上級プログラマ |
ページ数 | A5・448ページ |
一言コメント | プログラマなら一度は読んでおきたいオススメの本です。 読むために深い専門知識は不要で、比較的読み進めやすい書籍となります。 |
どんな人におすすめか
プログラマなら全員にオススメできる書籍です。
入門者には手引きとなり、ベテランでも読み直すたびに得るものがあるので、どのレベルであっても読んで無駄にはなりません。
私の尊敬するスーパーエンジニアもこの本を定期的に読み直しているとのことでした。
エンジニアとして働いていたり、チームでプロダクトを開発するような人は対象読者になると思います。
逆に、プログラマとしてチームでなにか作ることがない人には、共感できない部分が多く対象読者から外れます。
本の構成
ソフトウェア開発に関するエッセンスを100個のTipsにまとめた書籍です。
技術的なテクニックだけでなく、エンジニアとしての心構えについても記されています。
各章ごとに4~8つのテーマについて解説する構成となっています。
本の内容を少し紹介
私の心に響いたTipsをいくつか紹介していきます。
Tip5:割れた窓を放置しておかないこと
1枚の割れた窓を長期間修理せずに放置していると、ビルを綺麗に保とうという意識が薄れ、短期間で廃墟になってしまうという割れ窓理論がソフトウェアにも適用されると主張しています。
割れた窓(悪い設計、質の低いソース、等)があるにも関わらずその状況を無視することで、その問題を誰も気にしなくなり、同じような問題を他の場所でも作り、いずれ全体が破綻していきます。
そうしないためにも、割れた窓は発見と同時にすべて修復すべきだと著者は説いています。
修正する時間がない場合は、少なくともコードをコメント化したり、実装していないことをコメントとして残しておく必要があるとのことです。
Tip46:メソッド呼び出しを連鎖させないこと
機能の結合をクリーンにするためにデルメルの法則がよく知られています。
デルメルの法則をよりシンプルに表現して、Tipsの1つにしたものが「メソッド呼び出しを連鎖させないこと」です。
メソッドを連鎖的に呼び出さないことで、関数同士を疎結合にしてメンテナンスしやすくなります。
他にも、グローバル変数を使うことの弊害についてもこの章で説いています。
Tip62:偶発的プログラミングを行わないこと
動いているプログラムについて、プログラムの処理内容をきちんと理解しておくべきだと主張しています。
動作原理がよく分からない場合、仮にテストを実装して通したとしても、偶然そのパターンが成功しただけです。
もしプログラムが突然動かなくなった場合、原理がわからないので修正することができなくなってしまいます。
こういった偶発的なプログラミングを避け、慎重なプログラミングを行わなければなりません。
感想
「自分の書いたコードは読みづらい」、「凄腕のエンジニアのようなコードはどうやったらかけるのか」という日頃の悩みを解決するヒントを得られたと思います。
エンジニアとしてのレベルアップするためには、テクニカルスキルだけでなく心構えのような部分も大切だということを学ぶことができました。
また、「良い設計とはどんなものか」など、優秀なエンジニアのものの見方についても記述されていて非常に参考になります。
読むたびに気になるTipsが変わるので、定期的に読み直して心構えを修正していきたいと思いました。
書籍の情報
出版社 | オーム社 |
著者 | David Thomas 著、Andrew Hunt 著、村上 雅章 訳 |
発売日 | 2020年11月21日 |
定価 | 3,200円(税別) |
ISBN-10 | 4274226298 |
判型 | A5・422ページ |
コメント