簡體   English   中英

如何處理沖突的編碼約定?

[英]How to deal with Conflicting coding conventions?

一般我們使用各種static代碼分析工具來分析我們的代碼進行驗證。 但是我看到了一些相互矛盾的場景。

例如,如果我們使用 class 變量,StyleCop 會建議我們使用

this.Name = myName

代替,

Name = myName

但這會彈出一個 Resharper 錯誤,“冗余限定符”,並建議不要使用“this”。 符號。

因此,在這種情況下,我需要檢查更一致的參考來選擇正確/最佳的參考。 有沒有這樣的資源可以“定義”正確的約定?

沒有正確的約定,你采用你喜歡的那個,那就是你的基線/參考。

如果您同時使用 ReSharper 和 StyleCop,您應該將它們設置為一起工作,這意味着以相同的方式接受和驗證代碼。

這是一個主觀問題,所以這是我的主觀回答:我同意 Resharper 並認為this是多余的。 我個人在字段名稱前加上下划線:

public class Foo
{
    private readonly string _name;

    public Foo(string name)
    {
        _name = name;
    }
}

然后我配置 static 分析工具以遵守我使用的約定。

不同的工具建議不同的東西。 我建議您制作自己的編碼指南文檔並與您的團隊分享(從現有的編碼約定開始)。 然而,一個很好的起點是“框架設計指南”一書 ISBN:978-0321545619

您還可以配置 resharper 以提供所需的警告/錯誤,並讓所有團隊成員使用相同的 resharper 配置,以便他們獲得相同的錯誤/警告。

不要只做編碼指南想要的所有事情,根據情況,有時最好不要堅持它,但如果你不遵循指南,請務必評論原因。

無論如何,它們更像是指南;)。

我認為使用 FxCop 更有用,因為它是由 Microsoft 提供的,所以還有什么比 Microsoft 更真實的。 http://msdn.microsoft.com/en-us/library/bb429476(v=vs.80).aspx

我需要檢查更一致的參考來選擇正確/最佳的參考。 有沒有這樣的資源可以“定義”正確的約定?

這些問題無法回答。 參考文獻不能幫助您“選擇正確的”。 就其本質而言,約定並不具有“正確性”屬性——我們使用約定來任意決定對那些沒有正確答案的問題采用一致的方法。

如果您想在此處遵循 StyleCop 的指南,您可以配置 ReSharper 以停止抱怨this的使用。 這是在ReSharper | Options | Code Inspection | Inspection Severity ReSharper | Options | Code Inspection | Inspection Severity ReSharper | Options | Code Inspection | Inspection Severity - 或者,我相信,有一個特定的“StyleCop for ReSharper”插件可以為您處理這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM