2017-05-04 54 views
13

Yerel işlev camelCase?Yerel işlevler için deyimsel adlandırma kuralı nedir? C# 7

public static int Factorial(int n) 
{ 
    return calcFactorial(n); 

    int calcFactorial(int number) => (number < 2) 
     ? 1 
     : number * calcFactorial(number - 1); 
} 

Ya PascalCase?

public static int Factorial(int n) 
{ 
    return CalcFactorial(n); 

    int CalcFactorial(int number) => (number < 2) 
     ? 1 
     : number * CalcFactorial(number - 1); 
} 
+1

bactrianCamelCase'i tercih ederim. –

+2

Bu soruya "doğru" bir cevap olduğunu düşünmeyin. Adlandırma işlevler için olması gerektiği gibi duruyor, çünkü * farklı bir şekilde bildirilen * bir işlev *. Beyannamenin yeri, türün temel özelliklerini ve anlamlarını değiştirmez ve bunları kod alanında ortak tutmak, işleri daha kolay anlamanızı sağlar ve böylece bakımını sürdürür. – Tigran

+2

C# kuralı, tüm yöntemlerin ve işlev adlarının PascalCase'de olması gerektiğinden, erişilebilirliklerine bakılmaksızın standart sözleşmeyle giderim. – Jegan

cevap

3

Standartım her zaman PascalCase, ayrıca tüm sözcüğü de heceleyerek. Birden fazla anlam taşıyabildiği için kısaltmalardan hoşlanmam.

public static int Factorial(int n) 
{ 
    return CalculateFactorial(n); 

    int CalculateFactorial(int number) => (number < 2) 
     ? 1 
     : number * CalculateFactorial(number - 1); 
} 

Derleyiciler yollarla birlikte gelmiş ve birkaç ekstra bayt açıkça hangi yöntemi yapmak için:

Yani, PascalCase senaryoda, aşağıdaki olmaya 'Kireç' sözcüğü heceleyerek ediyorum birkaç ekstra tuşa basmaktır.

+0

İyi yakalama RH6. Burnumun hemen altında özledim. – Chad