¿Cuál es el opuesto de initialize (o init)? [cerrado]

79

El término se usará como un nombre de método. El método se llama cuando una parte de la interfaz de usuario está oculta (o eliminada), y se utiliza para restablecer los valores predeterminados y eliminar objetos que ya no se utilizarán.

Los nombres posibles son: liberar, eliminar, eliminar, borrar, etc.

¿Cuál crees que es el más apropiado?

    
pregunta Gabriel Diaconescu 30.08.2012 - 16:05

10 respuestas

66

Yo uso:

  • inicializar ()
  • terminar ()

Lo encuentro más apropiado:

  • es difícil no verlo en el código, porque son palabras largas (no uso init)
  • es correcto el inglés (AFAIK)
  • en mi cabeza, terminar evita la ambigüedad. No coincide con el inicio (que coincide con el final), el inicio (que coincide con el final), la creación (que coincide con la destrucción), la configuración (que coincide con la desactivación), la carga (que coincide con la descarga), etc.

Sin embargo, algunas personas pueden encontrar una cuestión de gusto.

    
respondido por el Klaim 30.08.2012 - 18:02
23

Por lo general, utilizo Finalizar, Destruir o Terminar según la función de los objetos.

Para el caso que describe, Finalizar es lo que utilizaría según mi esquema.

    
respondido por el Brian Dishaw 30.08.2012 - 16:23
12

Me gusta release para un método que dispone de objetos y otros recursos (por ejemplo, como preparación para la destrucción). Elegiría reset para un método que restablece los valores a los valores predeterminados.

Si el estado "predeterminado" no requiere ningún recurso, entonces reset puede llamar a release para realizar esa parte de sus operaciones.

    
respondido por el comingstorm 31.08.2012 - 00:23
5

close()

Nadie ha propuesto cerrar () todavía. Java 7 tiene una nueva característica de "probar con recursos". Una clase que se limpia automáticamente tiene que implementar java.lang.AutoCloseable que tiene un solo método close (). shutdown () o cleanup () también podrían ser buenos.

No finalize()

finalize () significa algo específico para el recolector de basura en Java, y la forma en que funciona es un poco rara. Me mantendría alejado de finalize () a menos que quieras exactamente lo que Java hace con finalize ().

    
respondido por el GlenPeterson 30.08.2012 - 16:34
4

Me gusta bastante 'destruir'. No podría ser más claro a menos que estés escribiendo un videojuego o algo así.

    
respondido por el Eliot Ball 30.08.2012 - 16:13
3

Mi primer pensamiento fue derribar, pero eso se usa en muchos marcos de prueba. Finalizar y disponer tienen problemas similares. Restablecer, o limpiar ambos parecen buenas elecciones. Reinicializar deja en claro que vuelve al estado inicializado, lo que sería bueno si el estado al que regresas sea el estado inicial.

Solo asegúrese de que su término no esté sobrecargado en su contexto actual.

    
respondido por el Sign 30.08.2012 - 16:10
3
  

y se usa para restablecer los valores predeterminados y eliminar objetos que   no se utilizará más.

reset parece un buen término si está restableciendo el objeto a los valores predeterminados. reinitialize también podría ser apropiado si el uso de este objeto es similar a lo que hace initialize . Parece que este método eliminará otros objetos, no el que está recibiendo el mensaje, en cuyo caso cualquiera de los anteriores debería estar bien. Si realmente estás haciendo lo contrario de init y preparas el receptor para ser destruido, dispose sería una buena opción.

    
respondido por el Caleb 30.08.2012 - 16:51
2

Diría que depende de si la acción es opcional o requerida (sin pérdidas de recursos) y si el lenguaje admite constructores / destructores. Para casos opcionales yo uso:

  • borrar
  • restablecer
  • ocultar (en el contexto de la IU)

En otros casos donde se requiere la acción opuesta (en idiomas sin constructores / destructores, o cuando el destructor no libera el recurso), uso:

  • init - fini
  • inicializar - desinicializar
  • crear - destruir

En su caso, creo que preferiría hide . Todavía puede liberar memoria / recursos si lo desea; lo importante es que es opcional, es decir, que el destructor se ocuparía de ello si no lo hicieras.

    
respondido por el Oskar N. 01.09.2012 - 02:48
1

enlace

Me gustaría ir a finalizar. Sin embargo, creo que es un poco dependiente del caso de uso exacto: por ejemplo, Si lo usa principalmente para liberar recursos, cerrar conexiones, archivos y luego liberarlos tendría más sentido.

Si está buscando una idea para uso general o estandarizar, elegiría algo menos significativo, algo sin un significado especial como lanzamiento o eliminación.

El concepto de init vs (lo que sea) es similar a (constructor vs destructor), o en java finalize.

( Nota : si el lenguaje tiene el concepto de construcción y destrucción de objetos, es poco o nada necesario usar init ().)

    
respondido por el user1063963 30.08.2012 - 16:32
0

Si el objeto en el que se está usando el método dejará de usarse, solo usaría el destructor estándar. Sin embargo, ese no es el caso, por lo que, en lugar de ser demasiado genérico, un nombre mejor es probablemente algo como hide() si el objeto en sí está oculto o hideUserInterfacePart() si se están ocultando objetos compuestos.

    
respondido por el Karl Bielefeldt 30.08.2012 - 16:29

Lea otras preguntas en las etiquetas

Comentarios Recientes

Relájese, lo entenderá de la manera que desee: recuperar la funcionalidad de inicialización solo lo cambia de un primitivo a otro, uno a otro. ¡Esto no deshace mis lecciones anteriores y, de hecho, nos muestra cómo implementar csum sin siquiera saber cómo formar un primitivo! Relájese aún más: primero tiene una estructura cuyos miembros pueden o no ser punteros (en el caso de los punteros si no podemos evaluarlos, luego use raise), en el caso de los punteros tienen un número variable real de miembros. Esto... Lee mas