2010-10-01 27 views
3

StyleCop和Resharper之間存在風格衝突。 Stylecop 1303說常量變量應該開始大寫,我同意。 Resharper表示可以使用類範圍的常量聲明,但是在本地(例如方法)作用域中使用const時,Reshaper不會批准,並且希望將所有內容都做成camelCasing。本地const變量應該以上限還是下限開始

R#中禁用這條規則當然沒有問題,但是這個規則背後的原因是什麼?任何任何想法?

回答

2

如果你下載了StyleCop ReSharper的,然後它帶有一個ReSharper的設置文件,將解決這個問題了您。這也是一個偉大的方式讓ReSharper的,以幫助您遵守了StyleCop:

http://stylecopforresharper.codeplex.com/

+0

我已經有這個運行:)但仍然存在衝突。 – 2010-10-01 09:17:44

+0

@Marcel de Kleine你有導入設置文件嗎?它不會在安裝插件時自動發生。無論如何,我仍然堅持使用StyleCop設置 - 這就是您使用StyleCop的原因。如果您已經導入了該文件,則可能值得在S4R上提供一個錯誤,讓他們知道還有其他需要重寫的內容:) – 2010-10-04 10:36:14

+0

我導入了設置文件,但仍然存在衝突,因此會按照您的建議進行操作,以便它們可以修復這個。 – 2010-10-04 13:21:25

0

我認爲StyleCope使用大小寫來區分類和方法的作用域。

+0

咦?這意味着所有類範圍的字段都會是UpperCamelCase ... – 2010-10-01 08:19:59

+0

不要傷害我 - 我沒有制定規則。 – Polyfun 2010-10-01 08:53:50

+0

當然你沒有制定規則......但是你應該反思它們;-) – 2010-10-01 09:02:04

0

我確信幾乎每個人都有這方面的想法,而那些很少同步。找到你的味道,並堅持下去。 Re#等是建議。你和你的同事應該達成一致,這是最重要的。

1

在這種情況下,我會堅持R#解釋(在本地範圍內,一切應該是lowerCamelCase)。

這主要是一個習慣問題,因爲我通常從一個變量開始,在完成該方法之後,如果相應的R#智能標籤向我推薦此變量,我可能會將該變量更改爲一個常量。

但正如指出的那樣,重要的是要在團隊一致...

托馬斯

+0

雖然我同意,但一致性是重要的,使用StyleCop意味着你已經選擇遵循StyleCop規則。這意味着您最好更改Resharper配置而不是禁用規則。 – 2010-10-01 08:31:50

+0

咦?沒有'StyleCop規則'這樣的東西。 StyleCop只是一個可配置和可擴展的文本檢查工具,預先配置了_Microsoft rules_。無論如何:什麼使你認爲StyleCop應該是'正確'而R#應該是'錯誤'? – 2010-10-01 08:56:06

+0

關於StyleCop中代碼格式的許多決定可以看作是任意的。有些人有很好的推理,有些人只是選擇一種風格並堅持下去的例子。大多數規則不能以某種方式進行配置,因此選擇Resharper的默認值而不是StyleCop意味着您不會再使用StyleCop檢查代碼。使用StyleCop的目的是確保代碼看起來完全相同,並避免「哪個是最好的」參數。這並不是說StyleCop一定比Resharper更好,只是使用StyleCop更容易實施。 – 2010-10-04 10:39:29

相關問題