shimapapa.io

.NET,VB,C#,AzureなどMS関連中心の技術ブログ

【読了】「Adaptive Code ~ C#実践開発手法 第2版」

Adaptive Code ~ C#実践開発手法 第2版 (マイクロソフト関連書)

Adaptive Code ~ C#実践開発手法 第2版 (マイクロソフト関連書)

「Adaptive Code ~ C#実践開発手法 第2版」を読了しました。

学び

第3章 依存関係と階層化

3.3.2 横断的関心事

横断的関心事(ロギングやトランザクション管理など)は、
カプセル化した上でコードに適用するのが悪影響の少ない方法。
アスペクト指向プログラミングの導入→C#AORライブラリとして「PostSharpがおすすめ。」

www.postsharp.net

第5章 テスト

5.1.3 より複雑なテスト

モックフレームワークMoq2の利用。
下位のレイヤーでスローされた例外を上位の新しい例外でラッピングすることが推奨される。

5.2.1 保守可能なテストの書き方

SUT(System Under the Test)を表す変数にはsutという名前をつけるのには一貫性の利点がある。
テストメソッドの名前は実装ではなく意図が伝わるようにする。

5.3 テストのBuilderパターン

Builderパターンを利用し、モッククラスのメソッドを数珠つなぎに出来るようにすることで、
テストの意図を明確にすることが出来る。
テストの循環的複雑度は1を超えることがないようにする。

第12章 依存性注入

App.configファイルのセクションを使って、インターフェイスを実装にマッピングする方法を示すことができる。
(.NetFramework4.7.2より、ASP.Net WebFormsなどでもDependency Injectionが行えるようになったが、
web.configなどで実装を定義できるかが不明だったが、この方法で実装できる?)

感想

第1部ではスクラム、カンバンについての紹介にページが割かれているが、
第2部以降ではコード例なども交えて実践的な開発手法についての解説に入っていく。

などなど多岐にわたるプラクティス・原則について、実践的なコード例を多数交えて紹介している。

コード例も、参考書等でよくある説明のために簡素化された形ではなく、タイトルどおり「実践的」であると言える。 前述した「テストのBuilderパターン」などは早速現場で利用し始めている。

かなりのボリュームではあるが、オブジェクト指向の初心者/中級者が上級者にステップアップしていくために
必ず役に立つ1冊であると断言できる。

Amazonのレビューが2件しかないのが本当に不思議。