我總是傾向於將所有屬於依賴屬性(註冊,clr屬性,更改回調,強制回調等)的東西分組到一個區域中。但是這違反了Stylecop會員訂購規則。這也是生成多個成員的代碼片段的一個常見問題,因爲代碼片段不能在我的文件中的不同位置生成代碼。你在這方面的哲學是什麼?你是否違反了stylecop規則,或者你把所有東西都放在了「正確」的地方?StyleCop vs DependencyProperties
此外,我個人認爲,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應該產生爲我們做addtional工作。在上面的例子中,堅持使用stylcecop會讓你的工作效率下降,而且代碼的可讀性會下降,因爲你必須將上面的代碼放在靜態ctor中(而不是字段初始化)才能夠使FrameworkPropertyMetadata成爲臨時變量。每個依賴項屬性的一個額外的臨時變量不會使代碼更具可讀性/可維護性,再加上您不能再使用codesnippets。
+1指出自由意志。 – 2009-10-02 08:51:37
當然,我們不是被迫使用stylecp,但我認爲我們都同意它非常有用。特別是如果我們編寫公開的或許多團隊成員使用的代碼。只有一個或另一個規則應該略有不同。當然,我們可以禁用規則並編寫我們自己的規則。但是默認的規則是有目的的。他們可以被視爲最佳實踐的暗示。這就是爲什麼儘可能廣泛地應用它們是一個好主意。 – bitbonk 2009-10-02 09:47:48
有些默認規則可以彌補微軟差異的不足。如果你使用不同的(不是雙關語),那麼你應該使用更新後的規則嗎?可能不會。 默認規則在那裏,因爲他們強制MS的內部風格。將Microsoft內部樣式註釋放在每個源文件的頂部是否是最佳實踐?不。他們並不都是最佳實踐提示。這是一個風格檢查器,僅此而已。這不是FXCop,那些肯定是最佳實踐規則。 – blowdart 2009-10-02 09:53:43