¿Hay algún propósito para declarar un método init()
para un tipo?
No estoy preguntando si deberíamos preferimos init()
over un constructor o cómo evitar declarar init()
.
Estoy preguntando si hay una razón fundamental para detrás de declarar un método init()
(viendo lo común que es) o si es un olor de código y debería evitarse.
El idioma init()
es bastante común, pero aún no he visto ningún beneficio real.
Estoy hablando de tipos que fomentan la inicialización a través de un método:
class Demo {
public void init() {
//...
}
}
¿Cuándo será esto útil en el código de producción?
Siento que puede ser un olor de código ya que sugiere que el constructor no inicializa completamente el objeto, lo que resulta en un objeto parcialmente creado. El objeto no debería existir si su estado no está establecido.
Esto me hace creer que puede ser parte de algún tipo de técnica utilizada para acelerar la producción, en el sentido de las aplicaciones empresariales. Es la única razón lógica por la que puedo pensar en tener tal lenguaje, pero no estoy seguro de cómo sería beneficioso si es así.