Ein Vorschlag aus Bob Martins "Clean Code" lässt mich am Kopf kratzen. "Wenn eine Funktion einmal eine andere aufruft, sollten sie vertikal nahe beieinander liegen und der Anrufer sollte sich über dem Angerufenen befinden."
Bisher habe ich mich mehr oder weniger an die .Net-Richtlinien gehalten, die Klassenmitglieder nach Typ (Eigenschaften, Ctoren, Funktionen) und Sichtbarkeit (öffentlich / prot. / Privat) gruppieren. Der Tipp scheint zunächst ein Problem zu sein. Aber es könnte "einfach funktionieren". Ich persönlich bin auf Fälle gestoßen, in denen mir dieses Layout gefallen hat - einfacher zu analysieren, wenn Sie sich in der richtigen Anrufkette befinden.
Die Idee hinter dem Tipp scheint vernünftig, aber andere Szenarien wie "Lassen Sie mich die öffentliche Oberfläche dieser Klasse betrachten" könnten sich verschlechtern. Vielleicht setzt Onkel Bob auf die kleinen Klassen und die IDE-Unterstützung für die Anzeige von Typen ...
Hat jemand dies über einen längeren Zeitraum ausprobiert?
Update: Scheint, als wäre ein Code-Snippet in Ordnung
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... }
}