達人プログラマー (第 2 版)

タツジンプログラマーダイニハン

熟達に向けたあなたの旅

達人プログラマー (第 2 版) の表紙
ソフトウェア工学 / 設計
著者:
Andrew Hunt / David Thomas / 村上雅章(アンドリュー ハント / デイビット トーマス / ムラカミ マサアキ)
価格:
¥3,520
出版社:
オーム社
出版日:
2020年11月21日頃
ISBN:
9784274226298
在庫:
1
判型:
単行本
4.2(21 件 / 楽天ブックス)
中級者向け
プログラミングソフトウェア開発アジャイル実践的技術ソフトウェアエンジニアリング開発生産性ソフトウェア設計開発手法プログラマスキルソフトウェア品質

なぜ注目されているか

総合33位 ✦ NEW 言及 59 件・うち記事 49 件を掲載
03520222023202420252026

書籍紹介

より良いプログラマになるための実践的アプローチ
本書は、Andrew Hunt and David Thomas、 The Pragmatic Programmer 20th Anniversary Edition (Addison Wesley、 2019) の日本語版です。

本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。

先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがある、座右の一冊です。

技書の森解説

『達人プログラマー 第 2 版』 (David Thomas、Andrew Hunt 著、村上 雅章 訳、オーム社、2020 年 11 月刊) は、特定の言語やフレームワークに依存しない「仕事としてのプログラミング」の原則を、短いトピックの積み重ねで伝える書籍です。原書は 2019 年に Addison Wesley から出た The Pragmatic Programmer 20th Anniversary Edition で、副題は熟達に向けたあなたの旅。版元の紹介文では、より効率的で生産的なプログラマーになりたいソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人が書いた本と説明されています。コードを書けるようになった後、「良い仕事の仕方」を言葉で持ちたい人に向いた一冊です。

20 周年版の改訂と、達人の哲学に始まる全 9 章の構成

原書の版元ページによれば、20 周年版は新しいヒントとトピックを加え、全体に手を入れた版で、本文は 2 ページから 10 ページほどの小さなトピック節で構成され、多くの節に演習と課題が付いています。邦訳では 53 のトピックに通し番号を振り、9 章に分けています。第 1 章「達人の哲学」は「猫がソースコードを食べちゃった」「ソフトウェアのエントロピー」「あなたの知識ポートフォリオ」など仕事に向き合う心構えを、第 2 章「達人のアプローチ」は DRY の原則、直交性、可逆性、曳光弾、見積もりといった設計の基本姿勢を扱います。続く第 3 章「基本的なツール」はプレインテキスト、シェル、エディター、バージョン管理、デバッグ、エンジニアリング日誌を、第 4 章「妄想の達人」は契約による設計 (DbC) や表明を用いたプログラミングで自分のコードを疑う姿勢を、第 5 章「柳に雪折れ無し」は 結合 を減らす分離や設定で変化に耐える構造を、第 6 章「並行性」は時間的な結合やアクターとプロセスを取り上げます。後半の第 7 章「コーディング段階」は偶発的プログラミング、アルゴリズムのスピード、リファクタリング、コードのためのテスト、ものの名前を、第 8 章「プロジェクトを始める前に」は要求の落とし穴や共に働くこと、アジリティーの本質を、第 9 章「達人のプロジェクト」はチームの組み方やユーザーを喜ばせることを扱い、巻末には演習問題の回答 (例) と Tip 一覧が付きます。

原則を「理由」ごと持つことが効く場面

設計原則は名前だけなら一晩で覚えられますが、現場で効くのは、なぜその原則があるのかを自分の言葉で説明でき、破ってよい場面を判断できるときです。DRY は単にコードの重複を消せという話ではなく、ある知識の表現を一か所に置くという考え方で、設定値やドキュメント、データベースの定義が食い違う事故まで射程に入ります。直交性は、ある変更が無関係な部分へ波及しないように部品を分ける考え方で、テストのしやすさや置き換えやすさに直結します。20 周年版の原書では、並行処理での共有状態の危うさや、プロパティベーステスト、セキュリティへの備えといったトピックも目次に並び、言語の流行が変わっても通用する判断の軸を、短い単位で拾い直せる作りになっています。

入門書の次に読む本としての位置づけと向かない読者

紹介文が入門者の手引きにもベテランの読み直しにもなると書くとおり、前提として特定の言語の深い知識は求められませんが、少なくとも一つの言語で小さなプログラムを書き、バージョン管理やテストに一度は触れた経験があるほうが、各トピックの例えが自分の経験と結びつきやすくなります。一方で、特定の言語の書き方やフレームワークの使い方を手順として学びたい人、アルゴリズムやアーキテクチャを体系的に学びたい人には、本書の粒度は合いません。設計の本を層ごとに選びたい場合は 設計とアーキテクチャの本の選び方 を合わせて見ると、本書の次に読む一冊を決めやすくなります。

配属されて数年、コードは書けるのに、見積もりや設計の判断、チームでの進め方に自信が持てないという人にとって、本書は判断の拠り所を短い言葉で手元に置ける一冊です。トピック単位で拾い読みもできるため、一度通読した後も、迷った場面で該当する節に戻る使い方で元が取れます。

言及した記事 (49 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: