Соглашения об именах C # для рекурсивных внутренних функций?

В C # есть несколько соглашений об именах для часто встречающихся типов методов:

  • BeginFoo () / EndFoo () для асинхронных методов
  • TryGet () / TryParse () , которые возвращают false вместо создания исключения
  • FooOrDefault () для методов, возвращающих default (T) вместо выдача исключения
  • IsFoo для логических флагов

Мне было интересно, есть ли исключение для рекурсивных внутренних методов ? например в этот пример из другого вопроса о переполнении стека :

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?

8
задан Community 23 May 2017 в 10:31
поделиться