2017-05-04 74 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