head first ソフトウェア開発を読んだ

読了しました。プロジェクトの流れが理解出来たらいいな、くらいの動機で手にとったんですけど、それ以上の収穫があった。と思う。以前読んだhead firstオブジェクト指向分析設計の中で「開発はイテレーション」という話が触れられていてピンと来てなかったんですが、まさにそれについての本で腑に落ちました。開発のプロセスとしてこういうことを実践するといいよという本でした。以下感想。

  • TDDとCI (continuous integration:継続的インテグレーション) についてそれぞれ章を割いている
    • 特にCIというのは初めて知った
    • リポジトリにチェックインするときに、CIツール側でテストを実行して、失敗したらチェックインはされない機能
    • テストの網羅率をレポートしてくれる機能だとかがあるみたい
    • CIのテストって誰が書くのか、というのは気になる
      • ビルドスクリプトに、テストスイートに依存したコミットのタスクを書いてはある。
        • そうしたらCIツールはテストの網羅率ってどう解析するんだろうかな。
        • 単体テストも一緒にコミットしてそれを使うのかなあ
    • エディタやIDEだったらウェブ上でいろんな記事を見るけど、CIのツールについてはあまり目に触れない
      • 僕の観測範囲の問題か、未知のものに反応できないだけか
    • 「TDDとテストファーストは違う」
    • モックフレームワーク便利
  • ビルドツールの利用価値を説明していて納得できたのもよかった
    • 学習用でかつEclipseを使っているとありがたみがよく分からないままになる
  • 進化的設計と、事前に要求される設計書の折り合いのつけ方はどうするんだろう
    • ちょこっと触れられているだけに気になる。
  • 依存性注入をするとテストしやすくなるよ、とある
    • もうちょっと詳しい説明が欲しかったな。まだよく分かってない。
  • 顧客とのコミュニケーションを頻繁に行うように勧めてあるんだけど、その時間は作業日数に含まれていない
  • あと見積もり怖い