c#对于常见的方法类型有一些命名约定:
- 异步方法
BeginFoo()
/EndFoo()
-
TryGet()
/TryParse()
返回false
而不是抛出异常 -
FooOrDefault()
对于返回default(T)
而不是抛出异常的方法 -
IsFoo
for boolean flags
我想知道,是否有一个递归内部方法?例如,在这个例子中,来自另一个堆栈溢出问题:
public int CalculateSomethingRecursively(int someNumber)
{
return doSomethingRecursively(someNumber, 0);
}
// What to call this?
private int doSomethingRecursively(int someNumber, int level)
{
if (level >= MAX_LEVEL || !shouldKeepCalculating(someNumber))
return someNumber;
return doSomethingRecursively(someNumber, level + 1);
}
在C语言中,我看到人们使用foo(...)
+ foo_r(...)
作为惯例。但是在。net中呢? 我个人可能会称之为CalculateSomethingRecursivelyImpl
-我倾向于使用Impl
作为"私有方法,它实际上完成了具有相同名称但没有后缀的方法的大部分工作"的后缀。它是递归的这一事实不会改变我——但这只是我个人的选择。
老实说,这样的方法可能总是私有的——所以它不像公共/受保护的方法那么重要。和你的其他团队成员制定一个约定。
老实说,我想说适用于非递归函数的c#命名约定也适用于递归函数。试着给它起一个描述性但相对简短的名字。如果你真的想不出任何与非递归不同的东西,那么你就必须尝试使用后缀。我更喜欢"Helper",尽管我尽量避免使用后缀。