Ich habe eine Klasse, die ein Array von Knoten erstellt und diese in einer grafischen Struktur miteinander verbindet. Ist es am besten zu:
- Behalten Sie die Funktionalität bei, um die Knoten in einer Funktion zu initialisieren und zu verbinden
- Haben Sie die Initialisierungs- und Verbindungsfunktionalität in zwei verschiedenen Funktionen (und haben Sie eine abhängige Reihenfolge, in der die Funktionen aufgerufen werden müssen - beachten Sie jedoch, dass diese Funktionen privat sind.)
Methode 1: (Schlecht darin, dass eine Funktion zwei Dinge ausführt, ABER die abhängige Funktionalität bleibt in Gruppen zusammengefasst - die Knoten sollten niemals ohne vorherige Initialisierung verbunden werden.)
init() {
setupNodes()
}
private func setupNodes() {
// 1. Create array of nodes
// 2. Go through array, connecting each node to its neighbors
// according to some predefined constants
}
Methode 2: (Besser in dem Sinne, dass es selbstdokumentierend ist, ABER connectNodes () sollte niemals vor setupNodes () aufgerufen werden, daher muss jeder, der mit den Klasseninternalen arbeitet, über diese Reihenfolge Bescheid wissen.)
init() {
setupNodes()
}
private func setupNodes() {
createNodes()
connectNodes()
}
private func createNodes() {
// 1. Create array of nodes
}
private func connectNodes() {
// 2. Go through array, connecting each node to its neighbors
// according to some predefined constants
}
Aufgeregt, irgendwelche Gedanken zu hören.