Я всегда стремлюсь сгруппировать все, что принадлежит свойству зависимости (регистрация, свойство clr, обратный вызов изменения, принудительный обратный вызов и т. Д.), В один регион. Но это нарушает правила упорядочивания элементов stylecop. Это также общая проблема с codenippets, которые генерируют несколько элементов, так как фрагменты не могут генерировать код в разных местах моего файла. Какова ваша философия в этом? Вы отменяете правила stylecop или вы помещаете все в «правильное» место?
Также лично я считаю, что стилоп не должен на это жаловаться:
/// <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 делает вас менее продуктивным, плюс код становится менее читаемым, потому что вы вынуждены поместить вышеуказанный код в статический ctor (вместо инициализации поля), чтобы сделать FrameworkPropertyMetadata временной переменной. Одна дополнительная временная переменная для каждого свойства зависимости не делает код более читабельным / поддерживаемым, плюс вы больше не можете использовать codenippets.