Una sugerencia del "Código limpio" de Bob Martin me hace rascarme la cabeza ... "Si una función llama a otra, deben estar verticalmente cerca y la persona que llama debe estar por encima de la persona que llama"
Hasta ahora, me he mantenido más o menos cerca de las pautas .Net, que agrupan a los miembros de la clase por tipo (propiedades, factores, funciones) y visibilidad (público / prot. / Privado). La sugerencia parece un problema al principio ... pero "podría funcionar". Personalmente, he encontrado casos en los que me gustó este diseño, más fácil de profundizar cuando estás en la cadena de llamadas correcta.
La idea detrás de la sugerencia parece sólida, pero otros escenarios como "déjame mirar la interfaz pública de esta clase" podrían empeorar. Tal vez el tío Bob está confiando en las clases pequeñas y el soporte IDE para ver los tipos ...
¿Alguien ha probado esto durante un período prolongado?
Actualización: Parece que un fragmento de código está en orden
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... }
}