2009-10-06 64 views
21

剛剛找到StyleCop,看起來像是值得使用的項目。然後我發現你可以使用ReSharper(我從未使用過的工具)。所以我下載了ReSharper,以及ReSharper的StyleCop。我只是有點困惑了,雖然:StyleCop vs ReSharper和一般編碼式問題

  1. 只需安裝StyleCop的(無ReSharper的),我得到大聲呵斥在代碼隱藏直接指私有變量。它希望我改爲做這個變量。好,很好。

  2. 如果我只使用ReSharper,它會告訴我刪除所有剛剛添加的「這個」調用。哪一個更好?

  3. 如果我爲ReSharper使用ReSharper + StyleCop,它現在告訴我爲所有私有成員引用添加'this'(就像StyleCop自己做的一樣)。但是,現在它還希望我將「this」添加到從.aspx頁面引用的所有控件(即,Label.Text = this.variable - > this.Label.Text = this.variable)。

我很困惑。遵循的最佳標準是什麼?或者我現在就這樣做(Label.Text =變量)?

+4

+1試用ReSharper。你會認爲這個論壇充滿了他們的銷售人員,儘管他們表示讚賞,但它確實的確滿足於炒作(大部分)。它在這裏有它自己的標籤,所以不要忘記閱讀一些「最好的」來加快速度:http://stackoverflow.com/questions/tagged/resharper – 2009-10-06 19:10:16

回答

12

關鍵是一致性。您關於這一點的特定格式歸結爲個人偏好。

額外的單詞是否提供了額外的清晰度,指出您正在引用哪個變量,或者是否通過用額外文本填充頁面來掩蓋含義?

這是一個判斷電話。他們確實執行了其他有意義的規則;然而,他們所做的大部分工作是強化一致性。正如@Martin所說的,隨意禁用對您的工作流程沒有意義的規則。

2

我認爲這取決於您希望遵循哪些慣例(這是個人喜好的問題)。至少在ReSharper中,您可以編輯規則以不再顯示某些警告/提示。

+0

你可以自定義使用哪些規則StyleCop設置編輯器 – 2012-05-24 10:54:34

+0

但是你不能「彎曲」StyleCop風格。 (比如在撥打本地電話時強制不要加上「this。」前綴。) – 2013-03-18 06:43:31

10

很抱歉,在一個團隊工作時,一切都歸結爲理解政治;畢竟,我們努力獲得報酬!

如果決定你的下一個 加薪的人使用了StyleCop,那麼你 應該總是包括「這個。」 ReSharper的說什麼同樣,如果老闆使用ReSharper的 你應該做的。

還有很多更重要的戰爭要贏得這個, 10,000行類,超大尺寸的方法

如果您足夠確定自己使用哪些工具(和編碼標準),那麼我只需選擇ReSharper並閱讀「clean code」一書。

0

舊帖子,但顯然仍然有效。您可以爲StyleCop創建新的自定義規則,並且可以採用現有規則並將其調整爲替換規則。不是很容易,但任何開發人員都可以通過SDK進行管理,並打開源代碼中的規則。我剛剛創建了一個自定義規則來接受以小寫字母開頭的默認事件處理程序語法。