平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

C#関連本

最初に宣伝。「.NETのクラスライブラリ設計」がもうすぐ出ます。

.NETのクラスライブラリ設計

.NETのクラスライブラリ設計 開発チーム直伝の設計原則、コーディング標準、パターン

NyaRuRuさんマイクロソフト新村さんほかいろんな方から紹介していただいてます。
目次はこんな感じ。

  1. イントロダクション
    1. 良い設計のフレームワークの品質
  2. フレームワーク設計の基礎
    1. 漸進的フレームワーク
    2. フレームワーク設計の基本原則
  3. 名前付けのガイドライン
    1. 大文字と小文字の使い分け規約
    2. 一般的な名前付け規約
    3. アセンブリおよびDLL の名前
    4. 名前空間の名前
    5. クラス、構造体、およびインターフェイスの名前
    6. 型のメンバの名前
    7. パラメータの名前付け規約
    8. リソースの名前付け規約
  4. 型の設計のガイドライン
    1. 型と名前空間
    2. クラスか構造体かの選択
    3. クラスかインターフェイスかの選択
    4. 抽象クラスの設計
    5. 静的クラスの設計
    6. インターフェイスの設計
    7. 構造体の設計
    8. 列挙体の設計
    9. ネスト型
    10. 型およびアセンブリメタデータ
  5. メンバの設計
    1. 一般的なメンバ設計のガイドライン
    2. プロパティの設計
    3. コンストラクタの設計
    4. イベントの設計
    5. フィールドの設計
    6. 拡張メソッド
    7. 演算子オーバーロード
    8. パラメータの設計
  6. 拡張性の設計
    1. 拡張性メカニズム
    2. 基底クラス
    3. シール化
  7. 例外
    1. 例外のスロー
    2. スローする正しい例外型の選択
    3. 標準の例外型の使用
    4. カスタム例外の設計
    5. 例外とパフォーマンス
  8. 使用法のガイドライン
    1. 配列
    2. 属性
    3. コレクション
    4. DateTime およびDateTimeOffset
    5. ICloneable
    6. IComparable<T> とIEquatable<T>
    7. IDisposable
    8. Nullable<T>
    9. オブジェクト
    10. シリアル化
    11. System.Uri
    12. System.Xml の使用法
    13. 等価演算子

本書は「クラス ライブラリ開発のデザイン ガイドライン」の公式解説書でもあります。このガイドラインを強制するためのツールとしてFxCopがあります。Visual Studio Team Editionには日本語化されたFxCopが組み込まれてるんですが、単体で配布されているFxCopは英語版のみ。英語版FxCopを使うときは「マネージ コードの警告に対応するコードの解析」と照らし合わせましょう。
で、そこに書かれている「規則の説明」では腑に落ちなかった人は、ぜひ書籍「.NETのクラスライブラリ設計」を読んでくださいね。

(あとで書く)