Ric*_*all 8 .net c# recursion naming-conventions
对于常见的方法类型,C#有一些命名约定:
BeginFoo()/ EndFoo()用于异步方法TryGet()/ TryParse()返回false而不是抛出异常FooOrDefault()对于返回default(T)而不是抛出异常的方法IsFoo 对于布尔标志我想知道,有一个递归的内部方法吗?例如,在此示例中来自另一个Stack Overflow问题:
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);
}
Run Code Online (Sandbox Code Playgroud)
在CI中,人们使用foo(...)+ foo_r(...)作为惯例.但是在.NET中怎么样?
就个人而言,我可能会把它称之为CalculateSomethingRecursivelyImpl- 我倾向于使用Impl"私有方法"的后缀,该方法实际上完成了具有相同名称但没有后缀的方法的大部分工作.它的递归这一事实不会改变我 - 但它只是个人选择.
说实话,这种方法可能总是私有的 - 所以它几乎和公共/受保护的方法一样重要.与其他团队成员一起制定一个会议.