0

私は常に、依存関係プロパティ (登録、clr プロパティ、変更コールバック、強制コールバックなど) に属するすべてのものを 1 つの領域にグループ化する傾向があります。しかし、これは stylecop メンバーの順序規則に違反しています。スニペットはファイル内の異なる場所でコードを生成できないため、これは複数のメンバーを生成するコードニペットの一般的な問題でもあります。これについてのあなたの哲学は何ですか?stylecop ルールを無効にしますか、それともすべてを「適切な」場所に配置しますか?

また、個人的には、stylcop はこれについて不平を言うべきではないと思います。

/// <summary>
/// RepeatX Dependency Property
/// </summary>
public static readonly DependencyProperty RepeatXProperty =
    DependencyProperty.Register(
        "RepeatX", 
        typeof(int), 
        typeof(GeometryViewbox), 
        new FrameworkPropertyMetadata
            {
                DefaultValue = 1, 
                AffectsRender = true, 
                AffectsParentMeasure = true, 
                PropertyChangedCallback = OnRepeatXChanged, 
                CoerceValueCallback = CoerceRepeatXValue
            });

Stylcop は、私たちが行う追加の作業を生成する必要があります。上記の例では、stylcecop に固執すると生産性が低下し、コードが読みにくくなります。これは、FrameworkPropertyMetadata を一時変数にできるようにするために、(フィールドの初期化ではなく) 静的 ctor に上記のコードを配置する必要があるためです。依存関係プロパティごとに一時変数を 1 つ追加しても、コードが読みやすく、保守しやすくなるわけではありません。また、コードニペットを使用できなくなります。

4

2 に答える 2

5

上記の例では、stylcecop に固執すると生産性が低下し、コードが読みにくくなります。

本当にそう思うなら使わないでください。必要に応じてハンガリー語表記の使用をやめるように強制していないように、誰もあなたにそれを使用するように強制していません。あなたが孤独な開発者であり、誰もあなたのソース コードを見て、それをフォーマットすることはありませんが、それを維持する必要があるのはあなたです。あなたが大規模なチームに所属している場合は、お互いのコードを簡単に読めるようにいくつかのコーディング標準を用意する必要がありますが、したくない場合は stylecop を使用する必要はありません。

ツールが利用できるからといって、それがニーズに合っているとは限らず、それを使用する必要があります。あなたは自分で考えることが許されています。

于 2009-10-02T07:51:34.847 に答える
4

Stylecoが提案するように、すべてを配置する傾向があります。その方が簡単です。面倒が少ない。そして、すべての場合にルールに従えば、どこで物を探すべきかが常にわかります. また、そのドロップダウン メニューを使用して、メンバー宣言に直接ジャンプすることもできます。

FWIW、リージョンも使用しません。そうすることで物事が散らかりにくくなります。

于 2009-10-01T09:29:09.930 に答える