2017-05-04 71 views
13

本地函數是否應該在中命名camelCaseC#7中的本地函數的慣用命名約定是什麼

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

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

或者PascalCase

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

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

我更喜歡bactrianCamelCase。 –

+2

不要以爲這個問題有一個「正確的」答案。 我會堅持命名,因爲它必須是函數,因爲它*是一個函數*,只是聲明不同而已。聲明的位置不會改變該類型的基本屬性和語義,並在代碼域中保持它們的通用性,使事情更容易理解,從而維護。 – Tigran

+2

C#約定是所有的方法和函數名都應該在PascalCase中,所以我會遵循標準約定,而不管它們的可訪問性。 – Jegan

回答

3

我的標準總是PascalCase,也拼出完整的單詞。我不喜歡縮寫,因爲它們可以有多種含義。

因此,在你PascalCase情況下,我會拼出來的「計算器」字是以下幾點:

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

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

編譯器都一起走的方式,以及一些額外的字節,以明確哪些方法這是值得幾個額外的擊鍵。

+0

好趕RH6。錯過了我的鼻子下面。 – Chad