Tengo una clase que configura una matriz de nodos y los conecta entre sí en una estructura similar a un gráfico. ¿Es mejor:
- Mantenga la funcionalidad para inicializar y conectar los nodos en una función
- Tenga la funcionalidad de inicialización y conexión en dos funciones diferentes (y tenga un orden dependiente en el que deben llamarse las funciones, aunque tenga en cuenta que estas funciones son privadas).
Método 1: (Malo en que una función está haciendo dos cosas, PERO mantiene la funcionalidad dependiente agrupada: los nodos nunca deben conectarse sin inicializarse primero).
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
}
Método 2: (Mejor en el sentido de que es autodocumentado, PERO connectNodes () nunca debe llamarse antes que setupNodes (), por lo que cualquier persona que trabaje con los componentes internos de la clase debe saber sobre este orden).
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
}
Emocionado de escuchar cualquier pensamiento.