Пропозиція із "Чистого коду" Боба Мартіна змушує мене почухати голову .. "Якщо функція викликає іншу, вона повинна бути вертикально близькою, а абонент повинен бути вище позивача"
Поки що я більш-менш дотримуюся вказівок .Net, які групують членів класу за типом (властивості, ctors, функції) та видимістю (public / prot. / Private). Наконечник спочатку здається неприємним .. але це "просто може спрацювати". Я особисто стикався з випадками, коли мені сподобався такий макет - простіше розгортатись, коли ти в правильній ланцюжку дзвінків.
Ідея за підказкою здається здоровою, але інші сценарії на кшталт "дозвольте мені переглянути загальнодоступний інтерфейс цього класу" можуть погіршитися. Можливо, дядько Боб звертається до малих класів та підтримує IDE для перегляду типів ...
Хтось пробував це протягом тривалого періоду?
Оновлення: схоже, фрагмент коду в порядку
class SomeType()
{
/// fields, ctors, et. all
public void Method1() { // calls HelperMethod1 and HelperMethod2 }
private void HelperMethod1 { // calls HelperMethod3 }
private void HelperMethod3 {}
private void HelperMethod2 {}
public void Method2 () { // and so on... }
}