Effective C# 6.0/7.0

目次

第1章 C#言語イディオム

項目1 ローカル変数の型をなるべく暗黙的に指定すること

項目2 constよりもreadonlyを使用すること

項目3 キャストにはisまたはasを使用すること

項目4 string.Format()を補間文字列に置き換える

項目5 カルチャ固有の文字列よりもFormattableStringを使用すること

項目6 文字列指定のAPIを使用しないこと

項目7 デリゲートを使用してコールバックを表現する

項目8 イベントの呼び出し時にnull条件演算子を使用すること

項目9 ボックス化およびボックス化解除を最小限に抑える

項目10 親クラスの変更に応じる場合のみnew修飾子を使用すること

 

第2章 リソース管理

項目11 .NETのリソース管理を理解する

項目12 メンバには割り当て演算子よりもオブジェクト初期化子を使用すること

項目13 staticメンバを適切に初期化すること

項目14 初期化ロジックの重複を最小化する

項目15 不必要なオブジェクトの生成を避けること

項目16 コンストラクタ内では仮想メソッドを呼ばないこと

項目17 標準的なDisposeパターンを実装する

 

第3章 ジェネリックによる処理

項目18 最低限必須となる制約を常に定義すること

項目19 実行時の型チェックを使用してジェネリックアルゴリズムを特化する

項目20 IComparable<T>とIComparer<T>により順序関係を実装する

項目21 破棄可能な型引数をサポートするようにジェネリック型を作成すること

項目22 ジェネリックの共変性と反変性をサポートする

項目23 型パラメータにおけるメソッドの制約をデリゲートして定義する

項目24 親クラスやインターフェイス用に特化したジェネリックメソッドを作成しないこと

項目25 型引数がインスタンスのフィールドではない場合にはジェネリックメソッドとして定義すること

項目26 ジェネリックインターフェイスとともに古いインターフェイスを実装すること

項目27 最小限に制限されたインターフェイスを拡張メソッドにより機能拡張する

項目28 構築された型に対する拡張メソッドを検討すること

 

第4章 LINQを扱う処理

項目29 コレクションを返すメソッドではなくイテレータを返すメソッドとすること

項目30 ループよりもクエリ構文を使用すること

項目31 シーケンス用の組み合わせ可能なAPIを作成する

項目32 反復処理をAction.、Predicate、Funcと分解する

項目33 要求に応じてシーケンスの要素を生成する

項目34 関数引数を使用して役割を分離する

項目35 拡張メソッドをオーバーロードしないこと

項目36 クエリ式とメソッド呼び出しの対応を把握する

項目37 クエリを即時評価ではなく遅延評価すること

項目38 メソッドよりもラムダ式を使用すること

項目39 FuncやAction内では例外をスローしないこと

項目40 即時実行と遅延実行を区別すること

項目41 コストのかかるリソースを維持し続けないこと

項目42 IEnumerableとIQueryableを区別すること

項目43 クエリに期待する意味をSingle()やFirst()を使用して表現すること

項目44 束縛した変数を変更しないこと

 

第5章 例外処理

項目45 契約違反を例外として報告すること

項目46 usingおよびtry…finallyを使用してリソースの後処理を行う

項目47 アプリケーション固有の例外クラスを作成する

項目48 例外を強く保障すること

項目49 catchからの再スローよりも例外フィルタを使用すること

項目50 例外フィルタの副作用を活用する

ビジネスフレームワーク図鑑 すぐ使える問題解決・アイデア発想ツール70

WEB+DB PRESS Vol.106

関連記事

  1. 予算1万円でつくる二足歩行ロボット

    目次第1章 仕様検討[1-1]全体の構成[1…

  2. 小学校プログラミング教育の研修ガイドブック

    目次第1章 小学校プログラミング教育の考え方と留意点…

  3. SHIP 医療の現場を支え続けるシップヘルスケア…

    目次第1章 グループの理念と事業グループが掲げる「S…

  4. モバイルアプリ開発エキスパート養成読本 (Sof…

    目次第1章 モバイルアプリ開発の基礎知識1‐1 モバ…

  5. Jenkins、Chef、Redmine、Doc…

    目次第1章 調査で分かった ITの現場「新3種の神器」…

  6. ソフトウェアデザイン 2019年9月号

    目次Special Feature1 気になるとこだけまとめ…

  7. Bootstrap 4 フロントエンド開発の教科…

    目次第1章 イントロダクション1.1  Webアプリ…

  8. プログラマのためのGoogle Cloud Pl…

    目次1章 Google Cloud Platformの概要…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

タグクラウド

PAGE TOP