Ho una classe che imposta una matrice di nodi e li collega tra loro in una struttura simile a un grafico. È meglio:
- Mantenere la funzionalità per inizializzare e connettere i nodi in un'unica funzione
- Avere l'inizializzazione e la funzionalità di connessione in due diverse funzioni (e avere un ordine dipendente dal quale devono essere chiamate le funzioni, sebbene si tenga presente che queste funzioni sono private).
Metodo 1: (Bad in quella funzione sta facendo due cose, MA mantiene raggruppate le funzionalità dipendenti - i nodi non dovrebbero mai essere collegati senza essere inizializzati prima.)
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
}
Metodo 2: (Meglio nel senso che è auto-documentante, MA connectNodes () non dovrebbe mai essere chiamato prima di setupNodes (), quindi chiunque lavori con gli interni di classe deve conoscere questo ordine.)
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
}
Entusiasta di sentire qualsiasi pensiero.