c# - 順番 - メソッド並び順




C#クラスをレイアウトする最良の方法は何ですか? (7)

あなたの生産性を高めます。 プロパティーアクセサの隣にあるプライベートフィールドのようなものもあれば、コンストラクタの上にあるフィールドのようなものもあります。 最も効果的なのは、「好き」という要素をグループ化することです。 私は個人的に個人的な方法、私有の特性などをまとめるのが好きです。

いくつかのことを何度も試してみてください。どんな感じであれ、より生産的になり、コードを維持しておくのに役立ちます。

C#ファイルをレイアウトする標準的な方法はありますか? のように、フィールド、次にプロパティ、コンストラクタなど?

ここに私が通常行っていることがありますが、私は標準的な方法があるのだろうか?

  1. ネストされたクラスまたは列挙型
  2. フィールド
  3. プロパティ
  4. イベント
  5. コンストラクタ
  6. パブリックメソッド
  7. プライベートメソッド

人々は自分のフィールドをグループ化しているのですか、それともそれらをプロパティに入れますか? あるいは、注文について心配しない人はいますか? Visual Studioはとても難しいようです。

編集 :ここでReSharperについて他の部分を移動しました。Resharperがコード順の好みを尊重するようにします。


あなたはこれを助けるためにRegionerateを試すことができます。 私は本当にそれが好きで、それはScott Hanselmanのピックです。


クラスファイルに一貫した領域セットを保持することの上に、私はアルファベット順にリージョンのすべてのコンポーネントを保持します。 私はコードを読むことになると「ビジュアルメモリ」のビットを持つ傾向があり、ナビゲーションドロップダウンを使用してコードをファイルに見つけるのは夢中になってしまいます。


私は最善の方法はないと思う。 レイアウトに関しては、考慮すべき2つの重要なことがあります。 最初に最も重要なのは一貫性です。 アプローチを選び、チーム全体が同意してレイアウトを適用するようにします。 第二に、もしあなたのクラスが、それらの厄介なプロパティがどこに住んでいるかを探している(またはそれらを簡単に見つけるために地域を実装する必要がある)のを探しているなら、あなたのクラスはおそらく大きすぎます。 それを嗅ぎ、あなたの匂いに基づいてリファクタリングすることを検討してください。

reshaperの質問に答えるには、( C#ノードの下にある) オプションの メンバーレイアウトを選択します。 それは単純ではありませんが、レイアウトの順序を変更することは可能です。


私は地域が必ずしも悪いコードの兆候であるとは思わない。 しかし、あなたが持っているものを再検討する必要があると判断する。 私がhere述べhereように、これは私のコードを地域化する方法です。


列挙型
宣言
コンストラクタ
メソッド
イベントハンドラ
プロパティ

しかし、主なものは、それを一貫して目的を保つことです。


私は次のレイアウトを使用します:

イベントグローバル/クラス全体のフィールドプライベート/内部プロパティメソッドpublic / protectedプロパティメソッドネストされたクラス(私は可能な限りこれらを避けようとしています)

私はまた、1つのファイルにつき1つのコード "事"(クラス、インタフェース、または列挙型)をしっかりと信じています。ファイル名は "物"の名前と同じです。 はい、それはより大きなプロジェクトになりますが、物事を見つけることは無限に簡単になります。


言われたように、私はそのような最善の方法があるとは思わない。 しかし、プログラマーに役立つ組織もあります。

長いプロジェクトで、あなたの関数の1つを見つけようとするときに、1つまたは複数のソースファイルを上ったり下ったりするのにどれくらいの時間を費やしたか。

だから私はこの種の方法で#regionをたくさん使っています -

  1. region Events :このクラスが使用するすべてのイベント参照(少なくともこの特定の部分クラスでは)。

  2. リージョンコントロール :フォーム上のコントロールと直接対話するすべての関数。

  3. 地域MDI :mdiを設定

    それでは、インタフェースではなく機能性と関係するものがいくつかあります。

  4. 地域正規表現検索

私は一緒に行くように整理しますが、私はいつも同じパターンを使用しています。 私は、自分の仕事を拾うプログラマーの中には、それが容易であること、そしてその乱雑さを感じる人がいると言われています。

半分の人が時間を半分、もう半分が時間の四半期、残りの四分の一は自分を含めて誰もが混乱させることを喜ばせることができます。 私はWinston Chrchilがそれを言ったと思います。





coding-style