Предложение от «Чистого кода» Боба Мартина заставляет меня чесать голову… «Если одна функция вызывает другую, они должны быть расположены вертикально, а вызывающая сторона должна быть выше вызываемой»
До сих пор я более или менее придерживался рекомендаций .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... }
}