書評 | C#実践開発手法 by @masaru_b_cl #‎CS実践開発手法‬

監訳者の長沢智治氏(@tnagasawa)より献本御礼。

C#実践開発手法 – デザインパターンとSOLID原則によるアジャイルなコーディング

本書はAdaptive Code via C#: Agile coding with design patterns and SOLID principles(Microsoft Press, 2014)の日本語版で、変化に容易に適応できるソフトウェア開発を実現するために、
アジャイル開発、デザインパターン、SOLID原則を、C#でどのように実践するかを解説する書籍です。方法論と実践の間の橋渡しをする解説書で、サンプルコードはVisual Studio 2013ベース。
C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊です。

SOLID原則やデザインパターンに関して説明する書籍として著名なのはボブおじさん(Uncle Bob)ことロバート・C・マーチンの「アジャイルソフトウェア開発の奥義」です。しかし、サンプルコードはJavaであり、C#を題材にした同種の本は、これまではありませんでした。本書はそういった現状を解決してくれる書籍になるのではと、期待に胸を躍らせていました。

そして、本書を読んでみて、率直な感想としては「これはいいものだ」ということです。オブジェクト指向プログラミングのSOLID原則を平易なコードを使って解説してあり、初学者でもある程度の雰囲気はつかめるでしょう。第3部ではASP.NET MVCのWebアプリケーションを用いて、実践的なSOLID原則を考慮したリファクタリングの過程も紹介してあり、一つの指針として参考になるでしょう。

また、本書の他にない特徴は、アジャイルプロセスの一つである「スクラム」の簡易な解説書でもあるということです。第1部でプロセスや用語について解説し、第3部ではその用語も使いつつ、スクラムの「2スプリント」分の進め方を疑似体験できるようになっています。このあたりは「アジャイルソフトウェア開発の奥義」が同じくアジャイルプロセスのXP(エクストリーム・プログラミング)を最初に紹介し、同じように実践例を見せていることを強く意識しているように感じました。

あと、地味だけどよいなぁと思ったのは、第2章という早めの段階で「依存関係」について、丁寧に説明していることです。アセンブリの依存関係、型の依存関係、メソッドの依存関係の解説ももちろんですが、実行時のアセンブリ探索の手順まで簡易に説明してあるのが良いです。このあたり、初心者が2つ以上のアセンブリで構成されるアプリケーションを作成するときに結構「ハマり」ポイントですので、

ただ、情報量という面では「アジャイルソフトウェア開発の奥義」にはかないません。パッケージ(アセンブリ)の構成やコードメトリクスのような、さらに進んだ話題は相変わらずこちらを参照することになるでしょう。また、「C#ならでは」というものも、それほど多くはないという印象でした。この点については少し残念でした。

そういった意味で、本当に初学者がSOLID原則を学ぶ書籍としては、個人的にはいまだに「Head First デザインパターン」を勧めたいです。コードはJavaですが、ほぼC#でも再現可能であり、いわゆる「GoFデザインパターン」の主要なものを題材に、順を追ってSOLID原則をはじめとしたオブジェクト指向プログラミングで大事な「原則」の多くを学べるからです。

とはいえ、ほぼ最新に近いC#のコードでこういった各種の原則の一部を学べる意義は大きいと思います。現場ですぐに使える知識を本書で学んでから、より高度な内容を学んでいくというのも良いでしょう。まさに「C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊」として、ふさわしい一冊です。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中