【发布时间】:2011-10-19 05:41:03
【问题描述】:
C# 对常见的方法类型有一些命名约定:
-
BeginFoo()/EndFoo()用于异步方法 -
TryGet()/TryParse()返回false而不是抛出异常 -
FooOrDefault()用于返回default(T)而不是抛出异常的方法 -
IsFoo用于布尔标志
我想知道,有没有一种用于递归内部方法?例如在this example from another Stack Overflow question:
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 中呢?
【问题讨论】:
-
+1 好问题 - 我记得我的一些大学课程使用“外壳”和“内核”。让我觉得自己像个农民。
-
我有前缀私有方法,我打算用“Inner”递归调用,所以我可能有一个名为 Add() 的方法,然后是一个 InnerAdd()。
-
@DaveZiegler
InnerAdd是个好名字。我也用它。 MS 也有一个InnerAdd 方法(虽然不处理递归)。
标签: c# .net recursion naming-conventions