Was ist eine mögliche Begründung für die nicht lange Argumentlisten Verpackung? (StyleCop SA1115)

stimmen
2

Ich bin fest in einem Kampf zwischen ReSharper und StyleCop, und ich möchte ReSharper gewinnen lassen, aber ich möchte die Argumente für StyleCop hören, bevor ich das tun.

Wenn ich lange Argumentlisten ReSharper vernünftig ich schreibe hackt die Parameterliste und startet ihn in der nächsten Zeile. Ich finde, dass viel besser lesbar.

Wenn ich StyleCop über den Code ausführen will es mir diese Zeilen wirklich lange verlassen. Ich mag das nicht, so will ich, dass StyleCop Regel (SA1115) ignorieren. Ich kann nicht denken Sie an einen guten Grund, warum SC die langen Linien in erster Linie wollen würde - es ist nur ein Fall von „wir haben das immer so gemacht“?

Veröffentlicht am 09/12/2008 um 15:05
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
2

Es ist wahrscheinlich es Sie daran erinnern, dass Ihre Argumentliste zu lang ist und verkürzt werden sollte.

Beantwortet am 09/12/2008 um 15:07
quelle vom benutzer

stimmen
0

Es scheint , die Regel technisch sagt „Parameter Komma folgen müssen.“ Ziemlich nit-picky , wenn Sie mich fragen, aber manche Leute glauben Fortsetzungszeilen mit den Kommas, um wirklich zu zeigen in Start- hey! Diese Linie ist eine Fortsetzung! Z.B

void Foo(  int blah
         , string blork
         , ...

Was auch immer Ihr Boot schwimmt, persönlich :)

Beantwortet am 09/12/2008 um 15:17
quelle vom benutzer

stimmen
1

Während diese mit dem Code zu spielen über Frage , fiel ich auch Foul von SA1115 über StyleCop von dem VS IDE ausgeführt wird . Nach einigen über Ausmisten, hier ist das Endergebnis , das StyleCop war ok gefühlt:

public static string Format<T>(string pattern, T template)
{
    Dictionary<string, string> cache = new Dictionary<string, string>();

    return RegexExpression.Replace(
        pattern, 
        match =>
    {
        string key = match.Groups[1].Value;
        string value;

        if (!cache.TryGetValue(key, out value))
        {
            var prop = typeof(T).GetProperty(key);

            if (prop == null)
            {
                throw new ArgumentException("Not found: " + key, "pattern");
            }

            value = Convert.ToString(prop.GetValue(template, null));
            cache.Add(key, value);
        }

        return value;
    });
}

Ich dachte, ich würde Aktie.

Beantwortet am 24/08/2009 um 22:44
quelle vom benutzer

stimmen
5

StyleCop will nicht, Sie alle auf einer wirklich langen Linie Ihre Parameter setzen. Aber es will auch nicht einfach willkürlich auf eine neue Zeile einzufügen Teil der Parameterliste nach unten in der nächsten Zeile zu bewegen. StyleCop möchten Sie eine der folgenden Funktionen ausführen:

public void MyMethod(int param1, int param2, int param3)

public void MyMethod(
    int param1, int param2, int param3)

public void MyMethod(
    int param1,
    int param2,
    int param3)
Beantwortet am 29/10/2010 um 17:23
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more