新人プログラマに読んでもらえるといろいろ捗りそうな書籍

今日、隣のエンジニアとたまたまそんな話になりました。

そのとき、

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

アジャイル開発とスクラム 顧客・技術・経営をつなぐ協調的ソフトウェア開発マネジメント

アジャイル開発とスクラム 顧客・技術・経営をつなぐ協調的ソフトウェア開発マネジメント

SCRUM BOOT CAMP THE BOOK

SCRUM BOOT CAMP THE BOOK

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

継続的インテグレーション入門 開発プロセスを自動化する47の作法

継続的インテグレーション入門 開発プロセスを自動化する47の作法

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 42人 クリック: 1,099回
  • この商品を含むブログ (345件) を見る

データベースパフォーマンスアップの教科書 基本原理編

データベースパフォーマンスアップの教科書 基本原理編

Perlプログラミング救命病棟 (Programmer’s foundations)

Perlプログラミング救命病棟 (Programmer’s foundations)

あたりが思い浮かんだのですが(ほかにもありますが)、 一気にそんなに渡しても読めないから一冊だけ渡すとしたらどれにする?ということで

レガシーコード改善ガイド (Object Oriented SELECTION)

レガシーコード改善ガイド (Object Oriented SELECTION)

  • 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義
  • 出版社/メーカー: 翔泳社
  • 発売日: 2009/07/14
  • メディア: 大型本
  • 購入: 45人 クリック: 673回
  • この商品を含むブログ (145件) を見る

がいいんじゃないかということになりました。

目次

第1部 変更のメカニズム(ソフトウェアの変更
フィードバックを得ながらの作業
検出と分離
接合モデル
ツール)
第2部 ソフトウェアの変更(時間がないのに変更しなければなりません
いつまで経っても変更作業が終わりません
どうやって機能を追加すればよいのでしょうか?
このクラスをテストハーネスに入れることができません
このメソッドをテストハーネスで動かすことができません
変更する必要がありますが、どのメソッドをテストすればよいのでしょうか?
1カ所にたくさんの変更が必要ですが、関係するすべてのクラスの依存関係を排除すべきでしょうか?
変更する必要がありますが、どんなテストを書けばよいのかわかりません
ライブラリへの依存で身動きが取れません
私のアプリケーションはAPI呼び出しだらけです
変更できるほど十分に私はコードを理解していません
私のアプリケーションには構造がありません
自分のテストコードが邪魔になっています
私のオブジェクトはオブジェクト指向ではありませんが、どうすれば安全に変更できるでしょうか?
このクラスは大きすぎて、もうこれ以上大きくしたくありません
同じコードをいたるところで変更しています
モンスターメソッドを変更する必要がありますが、テストを書くことができません
どうすれば何も壊していないことを確認できるでしょうか?
もうウンザリです。何も改善できません)
第3部 依存関係を排除する手法

本書ではテストがないコードはレガシーコードと定義されています。

テストを書き始めると湧き出る様々な問題に対して解決のヒントを与えてくれます。

ex) 第二部の私のアプリケーションはAPI呼び出しだらけですなど

個人的には

といった流れでテストを書いたことがあります。

レガシーコード改善ガイド、オススメです。(わたしも改めて読み直さないと)