Sugestia z „Czystego kodu” Boba Martina każe mi drapać się po głowie. „Jeśli raz funkcja wywoła inną, powinny one być pionowo zamknięte, a osoba dzwoniąca powinna znajdować się powyżej odbiorcy”
Jak dotąd mniej więcej trzymałem się wytycznych .Net, które grupują członków klasy według typu (właściwości, lekarze, funkcje) i widoczności (public / prot. / Private). Na początku napiwek wydaje się kłopotem, ale „po prostu może działać”. Osobiście zetknąłem się z przypadkami, w których podobał mi się ten układ - łatwiejsze drążenie w dół, gdy jesteś we właściwym łańcuchu połączeń.
Pomysł wydaje się słuszny, ale inne scenariusze, takie jak „pozwól mi spojrzeć na publiczny interfejs tej klasy” mogą się pogorszyć. Może wujek Bob korzysta z małych klas i wsparcia IDE dla typów wyświetlania ...
Czy ktoś próbował tego przez dłuższy czas?
Aktualizacja: Wydaje się, że fragment kodu jest w porządku
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... }
}