StyleCop vs DependencyProperties - PullRequest
       4

StyleCop vs DependencyProperties

0 голосов
/ 01 октября 2009

Я всегда стремлюсь сгруппировать все, что принадлежит свойству зависимости (регистрация, свойство 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.

Ответы [ 2 ]

5 голосов
/ 02 октября 2009

В приведенном выше примере прилипание к стилоскопу делает вас менее продуктивным плюс код становится менее читабельным

Если вы действительно в это верите, тогда не используйте его. Никто не заставляет вас использовать его, так же как никто не заставляет вас прекратить использовать венгерскую нотацию, если хотите. Если вы одинокий разработчик, и никто не увидит ваш исходный код, отформатируйте его, однако, вы будете счастливы, ведь вы должны поддерживать его. Если вы работаете в более крупной команде, вы должны установить некоторые стандарты кодирования, чтобы вы могли легко читать код друг друга - но вам не нужно использовать stylecop для этого, если вы этого не хотите.

Тот факт, что инструмент доступен, не означает, что он будет соответствовать вашим потребностям, и вы должны его использовать. Вы можете думать сами.

4 голосов
/ 01 октября 2009

Мы склонны ставить все так, как предлагает Stylecop. Так проще. Меньше хлопот. И если вы будете следовать правилам во всех случаях, вы всегда будете знать, где искать вещи. Кроме того, вы можете использовать это выпадающее меню, чтобы перейти прямо к объявлениям членов.

FWIW, мы также никогда не используем регионы. Вещи менее загромождены таким образом.

...