今回紹介する技術書は 出井秀行 さん著の「実践で役立つ C#プログラミング イディオム/定石&パターン」と言うC#プログラミングの本です。
超初心者の方には難しいかもしれません。C#を始めて使う人が読む本ではないです。初心者を超えるころに読むのが良いと思います。
ほんとうにためになる本でした。そして難しい概念もたいへん分かりやすく書かれています。
私にとってはこれは何度も読むべき C#本です。この記事を書いたタイミングで既に数回 時間をおいて読んでいますが、毎回なるほどと思っています。

章末にある Columnもためになるものが多い。nullキーワードをあまり意識せず使っていた私にとって、nullキーワードの詳細説明とか役に立ちました。
【感想】
前にも書きましたが、本書は難しい概念もたいへん分かりやすく書かれており、C#プログラマにとっては ほんとうにためになります。
また、具体的な内容も。
・ループ処理はLINQ、foreach、forの順番で使用を考えるべき。
・for文内でListを削除してはいけない。
・DictionaryはKeyの重複を許されないが、値にListを使い複数入れてしまえば、実質Keyの値は重複できる。
・null合体演算子はnullの場合、null演算子はnullでない場合。
等々、このようなイディオムやTipsがとても分かりやすく説明されています。
【具体的内容】
全体の章構成は以下の様になってます。
Part1:準備編
C1:オブジェクト指向プログラミングの基礎
C2:C#でプログラムを書いてみよう
C3:ラムダ式とLINQの基礎
Part2:基礎編
C4:基本イディオム
C5:文字列の操作
C6:配列とList<T>の操作
C7:ディクショナリの操作
C8:日付、時刻の操作
Part3:実践編
C9:ファイルの操作
C10:正規表現を使った高度な文字列処理
C11:XMLファイルの操作
C12:シリアル化、逆シリアル化
C13:Entity Frameworkによるデータアクセス
C14:その他のプログラミングの定石
Part4:ステップアップ編
C15:LINQを使いこなす
C16:非同期/並列プログラミング
C17:実践オブジェクト指向プログラミング
C18:スタイル、ネーミング、コメント
C19:良いコードを書くための指針
超初心者の方には難しいかもしれません。C#を始めて使う人が読む本ではないです。初心者を超えるころに読むのが良いと思います。
ほんとうにためになる本でした。そして難しい概念もたいへん分かりやすく書かれています。
私にとってはこれは何度も読むべき C#本です。この記事を書いたタイミングで既に数回 時間をおいて読んでいますが、毎回なるほどと思っています。

【本書の読み方】
本書の対象となる初心者を抜け出るレベルの方々へのお薦めの読み方は、
・Part1の準備編、Part2の基礎編を読みます。これでC#の正に基礎的なイディオムが把握できます。
・Part3はファイル操作、XMLファイル処理、シリアル化等すぐには使わない方も多そうな処理に関するイディオムとなりますので、実際に必要になった場合で良いかと思います。こんな処理があるのかと目を通すだけでも良いかも。
・そして、Part4はステップアップ編となっていますが、良いコードを書くための指針なんかもあり、基礎編の次に読んでおくべきものかと思います。
本書の対象となる初心者を抜け出るレベルの方々へのお薦めの読み方は、
・Part1の準備編、Part2の基礎編を読みます。これでC#の正に基礎的なイディオムが把握できます。
・Part3はファイル操作、XMLファイル処理、シリアル化等すぐには使わない方も多そうな処理に関するイディオムとなりますので、実際に必要になった場合で良いかと思います。こんな処理があるのかと目を通すだけでも良いかも。
・そして、Part4はステップアップ編となっていますが、良いコードを書くための指針なんかもあり、基礎編の次に読んでおくべきものかと思います。
章末にある Columnもためになるものが多い。nullキーワードをあまり意識せず使っていた私にとって、nullキーワードの詳細説明とか役に立ちました。
しかし、読み物として前から読んでいく必要があります。忘れた時にそこだけ参照する Referenceではないです。
【感想】
前にも書きましたが、本書は難しい概念もたいへん分かりやすく書かれており、C#プログラマにとっては ほんとうにためになります。
特に基礎編は分かりやすく、普通に書いたソースがどこがダメで、どうブラッシュアップしていけば良いかと言うような話の進め方になっています。
例えば、ラムダ式の説明はとても良かった。あえて直にラムダ式を使わない書き方をして、それをどんどん汎用的な形に変えていく。そこに Delegateのような少し理解が難しいものも自然に出てきてラムダ式に行きつく。そして、ラムダ式もあえてかなり冗長な書き方から、徐々にシンプルなラムダ式に変えていき分かりづらい考え方がスーッと飲み込める感じ。
だが読み物の様になっているので、忘れたときに Referenceとして調べるのでなく、また前から読む必要があるわけですね。
例えば、ラムダ式の説明はとても良かった。あえて直にラムダ式を使わない書き方をして、それをどんどん汎用的な形に変えていく。そこに Delegateのような少し理解が難しいものも自然に出てきてラムダ式に行きつく。そして、ラムダ式もあえてかなり冗長な書き方から、徐々にシンプルなラムダ式に変えていき分かりづらい考え方がスーッと飲み込める感じ。
だが読み物の様になっているので、忘れたときに Referenceとして調べるのでなく、また前から読む必要があるわけですね。
しかし、このような読み物は一度は読んでおくべきかと思います。人のソースを読んでる際、まだ見たことのない概念が突然出てきた場合、プログラム言語はけっこうシンプルで汎用的な単語なんかを使っているので検索に手こずる場合もありますよね。
そして、数多くの C#プログラムのイディオムやTipsが載っています。なるほどと思う部分、これは使ってみようと言うようなもの。
例えば、ほんの少し私がメモっておいて内容から抜粋すると。
・プログラムに唯一の正解はなく、分かりやすさと効率のバランスをとる必要がある。筆者はまず分かりやすさをとり、速度に問題が出たら最適化をはかるとのこと。
・良いコードを書く場合、Whatの視点を。
・良いコードを書く場合、Whatの視点を。
また、具体的な内容も。
・ループ処理はLINQ、foreach、forの順番で使用を考えるべき。
・for文内でListを削除してはいけない。
・DictionaryはKeyの重複を許されないが、値にListを使い複数入れてしまえば、実質Keyの値は重複できる。
・null合体演算子はnullの場合、null演算子はnullでない場合。
等々、このようなイディオムやTipsがとても分かりやすく説明されています。
【具体的内容】
全体の章構成は以下の様になってます。
Part1:準備編
C1:オブジェクト指向プログラミングの基礎
C2:C#でプログラムを書いてみよう
C3:ラムダ式とLINQの基礎
Part2:基礎編
C4:基本イディオム
C5:文字列の操作
C6:配列とList<T>の操作
C7:ディクショナリの操作
C8:日付、時刻の操作
Part3:実践編
C9:ファイルの操作
C10:正規表現を使った高度な文字列処理
C11:XMLファイルの操作
C12:シリアル化、逆シリアル化
C13:Entity Frameworkによるデータアクセス
C14:その他のプログラミングの定石
Part4:ステップアップ編
C15:LINQを使いこなす
C16:非同期/並列プログラミング
C17:実践オブジェクト指向プログラミング
C18:スタイル、ネーミング、コメント
C19:良いコードを書くための指針
【出井さんの他の書籍】
本書の著者 出井秀行さんは他にも C#の書籍を何冊か出版されている、C#のプロフェッショナルな方ですね。
そのなかでも他に以下の本がお薦めですね。
本書の著者 出井秀行さんは他にも C#の書籍を何冊か出版されている、C#のプロフェッショナルな方ですね。
そのなかでも他に以下の本がお薦めですね。
Sponsored Link