『チーム開発の教科書 C#によるモダンな開発を実践しよう!』の感想

はいどーもこんばんは主夫希望の皮をかぶったヒモ希望のツミオです。
本日は『チーム開発の教科書 C#によるモダンな開発を実践しよう!』の感想記事を書きたいと思いますよ。

どんな本やねん

タイトルにある通り、チーム開発の話題を取り扱った本です。
ですがチーム開発だけではなく、個人の開発者でも十分に活かせる内容が詰まっています。
例えばMVVMについてや、技術者としての心得みたいな感じの話ですね。
もちろんチーム開発をこれからしていく方にもピッタリの本です。
興味のある分野にもよりますが、わりとオススメかも(ASP.NET使いたい人は特にオススメ)。
なおこの本はC#の言語仕様を一通り把握していることが前提(LINQってなに? ラムダ式? デリゲート? なにそれ? みたいな人には厳しい)なので、プログラミング歴半年~一年くらいはあるといい気がします。
僕もちょうど一年目ですよ。

前回の記事でも少し紹介しているので、そちらもどうぞ。

オブジェクト指向で解決できない問題について

この本の最初の方に「オブジェクト指向を理解しただけでは、多くの問題が解決できないことがわかってきます」とあります。僕もまさにその通りで、どんな風に設計しようかなあとか、このインターフェイスいらないんじゃないかなあとか悩んでいました。
この本では具体的な開発手法の他に「こんなツールを使うと便利に開発できますよ。今のチーム開発ではこんなものを使うのがスタンダードですよ。今は使わなくても、このツールの考え方を理解することは有用ですよ」といったことを説明してくれます。
つまりオブジェクト指向だけでは解決できない部分を開発の手法やツールで補っていこう、という感じなのですね(いや違ったらすみません)。
わかりやすい例で言えば、オブジェクト指向をいくら理解していても、バージョン管理に関しては役に立たない。だからバージョン管理のためのツールの使い方を覚えることは必要ですよ、みたいな感じです。

オブジェクト指向を使えることは当たり前らしい

この本では「オブジェクト指向を使えることは当たり前」とまで言い切っています。そのうえで「現代ではMVVMの考え方を理解する必要がある」と説明しています。
実際僕も最近ちょくちょくMVVMについてググって調べていますが、確かに便利そうな考え方ですよね。
この本の中でもMVVMについてはかなり丁寧に説明されています。
ただ例がASP.NETやWPFアプリなので、ちょっと僕には難しかったです(どっちも開発経験がないw)。
いずれかの開発に慣れている方はサンプルコードもかなりサクサク読めるのではないでしょうか。

MVVMは考え方の一つに過ぎない

この本ではMVVMを推していますが、同時に「要求されるデータ量やスピードがある閾値を超えると、異なるデザインパターンを組み合わせて実装を変える必要がある」とも言っています。
つまりなんでもかんでもMVVMで実装すればよいのではなく、MVVMで実装すると適切なものを見極める目が必要ですよーという感じですね。
まあこれはGoFのデザインパターンのことを考えてもらえばわかりやすいんじゃないでしょーか。
パターンによって得手不得手がありますよね。MVVMも同じです(たぶん)。
MVVMについては僕もこれから勉強する感じですが、お互いが疎結合になっているのがかなりええ感じな気がしています。これから活用していきたいです。

例外処理について

チーム開発とあんまり関係がないような気がしますが、例外処理についても結構詳しめ書いてくれています。
「例外を握りつぶすな」という常識から、例外の適切な使い方まで書いてくれています。
例外とifブロックによる事前検証の使い分けとかよくわかってない! という方は参考になるんじゃないでしょーか(僕もだいぶん勉強になりました)。

単体テストについて

プログラミングを始めたばかりの方は恐らく単体テストというものをしたことがないのではないでしょうか?
この本は単体テストについての解説にも多くのページを割いてくれています。
「今まで単体テストなんてしたことないよー」って方は、単体テストの有用性を理解できるようになるのではないでしょーか。
ちなみに僕も単体テストは「ちょこちょこ使う」くらいで、テストカバレッジなにそれ? 状態だったので、かなり勉強になりました。
テスト駆動開発するかどうかはともかく、単体テスト自体はかなり有用だと僕も感じたので、これからガンガン取り入れたいと思います(でも単体テストできるシステム作るのって大変ですよね……)。

チーム開発について

当然のことながらチーム開発についても多く触れられています。
この辺は実際に読んでもらうといいんじゃないでしょーか。

ツールの使い方もいろいろ

本書ではツールの使い方についてもかなり力を入れて説明されています。
例えばバージョン管理システムの使い方や、ログ出力のためのライブラリ、はたまたVisualStudioのEnterprise版でしか利用できない機能の解説などなど。
かなり幅広いジャンルで「これ使うと便利やで!」と紹介されています。
ただもちろん「そんなツール全然興味ないわ」とか「そんな高いもん買えへんわドアホ!」みたいなこともあるかと思います。
僕も興味ないツールの話はほぼ斜め読みしていましたw

第8章が以外とよかった

最終章である第8章は「ステップアップのための勉強の仕方」という題です。
この項目ではプログラミング学習一年目くらいの人(要は僕みたいなのw)が、今後どのように勉強していくべきかの指針が示されています。
全てを真似する必要はないと思いますが、特に実務経験の浅い人(そう、これも僕w)には参考になる点が多いのではないでしょーか。

終わりに

本当は『Adaptive Code』から読みたかったのですが、電子書籍版がなかなか出ないので『チーム開発の教科書』を先に購入しました。
思ったよりは易しい内容でしたが、それでもASP.NETやらデータベースやらの話はほぼ理解できませんでしたw
普段からASP.NETやらWPFやら使ってる人は開発経験半年くらいでもフツーに読めるんではないでしょーか。
そんな感じの本です。

ほなそんな感じでまた。

フォローする