Viniendo de C/C++ hace mucho tiempo, todavía tengo la costumbre de asegurar que todos los recursos se limpien correctamente. Siempre me aseguro de que se usa Dispose en las clases IDisposable e implemento los patrones Dispose en mis clases que contienen objetos desechables.IDisposable, ¿realmente importa
Sin embargo, en mi entorno soy más o menos el único que hace esto. Otros simplemente no entienden lo que estoy haciendo y piensan que mi código es más difícil de entender.
Simplemente crean conexiones de bases de datos, abren secuencias, etc. sin llamar a Cerrar o Eliminar. A veces establecen una variable local o miembro a "Nothing" al final de un método (adivinar su fondo).
Mi problema es que su código funciona tan bien como el mío. El código que con el tiempo crea miles de objetos de conexión de base de datos simplemente funciona.
Por lo tanto, haciendo caso omiso de los argumentos sobre la corrección de los códigos, siguiendo las pautas, etc., hace IDiposable realmente importa?
¿Alguien realmente se ha quedado sin recursos de objetos que no se deshacen?
Edit: Gracias por todas las respuestas. Es interesante ver que algunas personas han tenido problemas cuando no se deshacen. Sin embargo, parece ser raro y supongo que el GC/JIT hace un buen trabajo para mantener el uso de recursos bajo condiciones normales.
Ni mis colegas ni yo cambiaremos el comportamiento debido a esto, pero se siente bien tener razón.
Muchos problemas en SO son de la variedad "cosas raras sucede". Encuentro que aproximadamente la mitad de ellos se deben a la falta de eliminación, especialmente si solo ocurren la segunda o posteriores veces a través de un ciclo de algún tipo. La otra mitad son excepciones no controladas, por cierto. –
He hecho la misma discusión con otros para usar el patrón IDisposible y he recibido una reacción similar. Ciertamente no estás solo en este conflicto. Le imploro que no comprometa lo que sabe que es correcto y apropiado porque su código es "difícil de leer". Solo mis 2 centavos. –
si nada más, __explicit__ siempre es mejor que implícito independientemente del idioma –