質問

の皆さんには本当に感謝している可能性の定義地域コードとしてでは読みや辛.

思い思いの皆様に 同条約のすべてのクラス (所定の順にすべての地域でのように:

  • 民間分野
  • コンストラクタ
  • クラスの特性
  • イベントハンドラ
  • など---。

い命題をどのようにこの部門は次のようになります(何を、どの地域で行うことが、何名い)順番である。

役に立ちましたか?

解決

私の規則がそれらを使用することではありません。

あなたは私はあなたのクラスがあまりにも複雑で、ばらばらにされなければならない提案した領域を介しての広大な部分を非表示にする必要があるような大きすぎるなって、あなたのクラスを見つけた場合。

他のヒント

ること"とだれかが言っていたことを有するコンベンションのような上:

  • 民間分野
  • コンストラクタ
  • クラスの特性
  • イベントハンドラ
  • など---。

のような設定テーブルのすべてのプレートを、すべてのスプーンは、すべてのナイフと、すべてのフォークスいただけます。

私の #region 発行けに関連するメソッドは、イベントの定義と性質につ地域です。しかし、どうしていくべきなのかについてここですべてのことを示しますコードで香り(いずれかのクラスが大きすぎませも多くのことがその最初のステップへのリファクタリングでより良いクラスです。

私は地域を見るたびに、私はコードがいずれかの発生していると考えるかリファクタリングを必要としているます。

避け、それらを使用して、あなたがそれらの必要性を感じたとき、あなたは何をやっている再検討し、より小さなものにしてクラスを分割してみてください。最終的に、これは複数の領域をします使用するよりも、アプリケーションの可読性を支援します。

個人的にはないお勧めのコード領域の一部コード約に従います。その主な理由として 地域コードを隠す, を招く可能性がある問題のように:

  • 開発者が内部的に重要な 一部のソースコード
  • の平均 額の組織委員会、同じファイルに増加する傾向にある

ご興味のある方は強制コーディングスタイル条約フォームよりごみてください Microsoft StyleCop.このツールは現在だけのためのC#.

#region Lotsa boring code and lookup tables

私はそれがスクリーンの不動産を保存するために使用し、他には何も:)

私は以下の領域を使用します:

Private Member Variables
Constructor
Public Properties
Private Methods
Public Methods
Events

理由は、コードのより良い組織である。
コードの2000以上のラインを持っており、地域ずにコードを維持することは非常に困難である可能性のあるファイルとI仕事ます。

私は、地域の必要がないと思います。彼らは読みやすいではありません。 あなたのクラスで(だと思う、あなたに本当に必要がありますか?)量のコードが必要な場合は、クラスの論理ユニットを分割する「部分的」クラスを使用することができます。

の正式なチェックがのその上で行われていない持っているあなたのコード、とに混入追加情報:

は、コメントの別の形と考えます。したがって、それはおそらく、コードを最新のドリフトアウトされます。

だから、NEVERすでにコードに記載されていることをコメントや地域のディレクティブに重複します。

だけ余分な情報を追加します。

は特に、特定のメンバー等のプロパティ、イベント、であるという事実を再表示する領域を使用して完全に無意味です。最も一般的な問題は、あなたがそれを公共のために「プライベートメソッド」するための領域を作成し、それらのその後編集1ということがあります。今、あなたは、旧バージョンとの差分に、簡単な変更が識別するためにはるかに困難であることをその手段、それを移動する必要があります。

あなたはこのに興味があるかもしれないの あなたは、C#に何も言わないがdo地域の。

私は長い間、プロジェクトaccrossあなたがしている一貫として、それはあなたがそれらを書くいるため問題であまりないこと。また、(それゆえ、最初のリンク!)それらを乱用の非常に非常に警戒する。

だと思います

そこのコードの一行だけを隠して、閉じたコンストラクタ域を見つけることより悪い何も。

私は最終的に、それは個人的な好みにダウンだと思います。私が言ったように、一貫性が鍵です!

私は、私がいつも使っVS 2008のための私自身の地域コードスニペットを書きました

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
    <Header>
        <Title>#class region</Title>
        <Shortcut>#classregion</Shortcut>
        <Description>Code snippet for #region in classes</Description>
        <Author>Simon Linder</Author>
        <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
            <SnippetType>SurroundsWith</SnippetType>
        </SnippetTypes>
    </Header>
    <Snippet>
        <Declarations>
            <Literal>
                <ID>name</ID>
                <ToolTip>Region name</ToolTip>
                <Default>MyRegion</Default>
            </Literal>
        </Declarations>
        <Code Language="csharp">
            <![CDATA[#region Variables
                    $selected$ $end$
                #endregion

            #region Construction/Destruction
                    $selected$ $end$
                #endregion

            #region Properties
                    $selected$ $end$
                #endregion

            #region Public Methods 
                    $selected$ $end$
                #endregion

            #region Private/Proteced Methods
                    $selected$ $end$
                #endregion]]>
        </Code>
    </Snippet>
</CodeSnippet>

私はVariablesConstruction/DestructionPropertiesPublicPrivate方法のための使用領域を行う見ることができるように。私は頻繁にeventsと呼ばれるプライベート領域に別のサブ領域を追加します。地域の順序も StyleCopするます。

で正常に動作します
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top