C# 7 中局部函数的惯用命名约定是什么
What is the idiomatic naming convention for local functions in C# 7
普通 class 方法,无论是实例方法还是静态方法,都具有关于其大小写的惯用命名约定。目前尚不清楚在 C# 7 中引入的 local functions 约定。
局部函数是否应该以驼峰式命名?
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);
}
我的标准始终是 PascalCase,也拼出完整的单词。我不喜欢缩写,因为它们可以有多种含义。
因此,在您的 PascalCase 场景中,我会将 'Calc' 单词拼写为以下内容:
public static int Factorial(int n)
{
return CalculateFactorial(n);
int CalculateFactorial(int number) => (number < 2)
? 1
: number * CalculateFactorial(number - 1);
}
编译器已经取得了进展,一些额外的字节来明确该方法的作用是值得的。
对此没有“正确”答案。
但在我们的团队中,我们使用 _PascalCase()
来实现本地功能。
我们已经将 _xxx
用于私有变量,并且在函数名称前添加下划线使其明显是本地的(就像它是“私有的”)。使用 PascalCase 有助于区分函数和变量。在使用非 Visual Studio 但基本的文本编辑器时也非常方便。
public static int Factorial(int n)
{
return _CalcFactorial(n);
int _CalcFactorial(int number) => (number < 2)
? 1
: number * _CalcFactorial(number - 1);
}
P.S。 SO 的语法高亮器不喜欢这样:)
普通 class 方法,无论是实例方法还是静态方法,都具有关于其大小写的惯用命名约定。目前尚不清楚在 C# 7 中引入的 local functions 约定。
局部函数是否应该以驼峰式命名?
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);
}
我的标准始终是 PascalCase,也拼出完整的单词。我不喜欢缩写,因为它们可以有多种含义。
因此,在您的 PascalCase 场景中,我会将 'Calc' 单词拼写为以下内容:
public static int Factorial(int n)
{
return CalculateFactorial(n);
int CalculateFactorial(int number) => (number < 2)
? 1
: number * CalculateFactorial(number - 1);
}
编译器已经取得了进展,一些额外的字节来明确该方法的作用是值得的。
对此没有“正确”答案。
但在我们的团队中,我们使用 _PascalCase()
来实现本地功能。
我们已经将 _xxx
用于私有变量,并且在函数名称前添加下划线使其明显是本地的(就像它是“私有的”)。使用 PascalCase 有助于区分函数和变量。在使用非 Visual Studio 但基本的文本编辑器时也非常方便。
public static int Factorial(int n)
{
return _CalcFactorial(n);
int _CalcFactorial(int number) => (number < 2)
? 1
: number * _CalcFactorial(number - 1);
}
P.S。 SO 的语法高亮器不喜欢这样:)