Uzun argüman listeleri sarılması için değil, olası bir gerekçe nedir? (StyleCop SA1115)

oy
2

Ben ReSharper ve StyleCop arasındaki bir savaşta sıkışıp kaldım, ben ReSharper kazansın istiyorum, ama bunu yapmadan önce StyleCop lehine argümanlar duymak istiyorum.

Ben uzun argüman listeleri ReSharper yazıyorum zaman makul parametre listesi pirzola ve sonraki satırda yeniden başlatır. Bunu çok daha okunabilir bulabilirsiniz.

Ben kod üzerinde StyleCop çalıştırdığınızda bu beni gerçekten uzun bu satırları ayrılmak istiyor. Bunu sevmiyorum, o yüzden StyleCop kuralı (SA1115) göz ardı etmek istiyorum. Ben SC ilk etapta o uzun satırları neden isteyeyim iyi bir neden düşünemiyorum - bu biz her zaman bu şekilde yaptık sadece bir durumdur?

Oluştur 09/12/2008 saat 15:05
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
2

Bu sizin argüman listesi çok uzun ve kısaltılmış gerektiğini hatırlatmak muhtemelen var.

Cevap 09/12/2008 saat 15:07
kaynak kullanıcı

oy
0

Kural teknik olarak diyor görünüyor "parametresi virgül takip etmek zorundadır." Oldukça sirke seçici Bana sorarsan, ama bazı insanlar gerçekten göstermek için virgül ile devam hatları başlayan inanıyorsak selam! Bu çizgi bir devamıdır! Örneğin

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

Ne olursa olsun şahsen, tekne yüzer :)

Cevap 09/12/2008 saat 15:17
kaynak kullanıcı

oy
1

Bu kod ile ilgili oynarken iken soruya , ben de VS IDE StyleCop çalışan yoluyla SA1115 ters düştü. Bazı mucking sonra burada StyleCop Tamam hissettim sonucudur:

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;
    });
}

Sadece bunu paylaşmak istedim.

Cevap 24/08/2009 saat 22:44
kaynak kullanıcı

oy
5

StyleCop Eğer gerçekten uzun hat tüm parametreleri koymak istemiyor. Ancak, aynı zamanda sadece keyfi sonraki satıra aşağı parametre listesinin bir kısmını taşımak için bir yeni satır eklemek istemiyor. StyleCop aşağıdakilerden birini yapmanızı istiyorum:

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)
Cevap 29/10/2010 saat 17:23
kaynak kullanıcı

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