StyleCop与DependencyProperties

bit*_*onk 0 stylecop

我总是倾向于将属于依赖属性的所有东西(注册,clr属性,更改回调,强制回调等)组合到一个区域中.但这违反了stylecop会员订购规则.这也是生成多个成员的codesnippets的一般问题,因为片段无法在我的文件中的不同位置生成代码.你对此有何看法?你是否取消了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
            });
Run Code Online (Sandbox Code Playgroud)

Stylcop应该为我们做出额外的工作.在上面的例子中,坚持使用stylcecop会降低你的工作效率,而且代码变得不那么可读,因为你不得不将上面的代码放在静态ctor中(而不是字段初始化),以便能够将FrameworkPropertyMetadata转换为临时变量.每个依赖项属性的一个额外临时变量不会使代码更易读/可维护,而且您不能再使用codesnippets.

blo*_*art 5

在上面的例子中,坚持使用stylcecop会降低你的工作效率,而且代码的可读性也会降低

如果你真的相信那就不要使用它.没有人强迫你使用它,就像没有人强迫你停止使用匈牙利符号,如果你想.如果你是一个单独的开发人员,没有人会看到你的源代码然后格式化它然而让你开心,你就是那个必须维护它的人.如果你是一个更大的团队,那么你应该得到一些编码标准,这样你就可以轻松地阅读彼此的代码 - 但如果你不想,你不必使用stylecop.

仅仅因为工具可用并不意味着它能满足您的需求,您必须使用它.你可以自己思考.