Java: "Contaminación del montón" [cerrado]


63

Una " contaminación del montón " como en los tipos no re-confiables (Los Tutoriales de Java ™> Aprendiendo el lenguaje Java> Genéricos (actualizados))

¿Por qué se llama así?


3
Una buena razón para no tener advertencias en su proyecto.

@ ThorbjørnRavnAndersen Buena. Pero aún así, debería haber una razón / dispositivo mnemotécnico detrás de ese nombre. Es divertido, pero incluso Google no parece saber por qué.

Respuestas:


72

La contaminación del montón simplemente implica que tienes "cosas malas" en tu montón. Es una analogía con (por ejemplo) la contaminación del agua, que es donde tienes "cosas malas" en el agua.

Específicamente, lo malo aquí son los objetos de tipo Adonde debería tener objetos de tipo B... de acuerdo con la escritura estática. Algún agujero en la escritura estática está permitiendo que las cosas malas se filtren en el montón ... donde es probable que cause daños (por ejemplo, inesperados ClassCastExceptions) en tiempo de ejecución.

No es una analogía particularmente buena, pero es la terminología que la gente de Java acuñó ... y (de hecho) la han definido en la página a la que se vinculó, y probablemente en otros lugares.


Pero aún así, debería haber una razón / dispositivo mnemotécnico detrás de ese nombre.

¿Por qué debería haberlo? Se usan muchas palabras y frases en inglés donde nadie sabe realmente el origen o el razonamiento. O donde se conoce el origen, pero es ilógico. Por ejemplo, el supuesto origen del término " error " se refiere a una falla en un programa de computadora. O el significado actual del término "salto cuántico" en la cultura popular. O la palabra "gay".

(Pero, en el caso de la "contaminación del montón", la fuente >> es << conocida, y el razonamiento detrás de la elección del término >> es << evidente ... para personas con el mismo trasfondo lingüístico y cultural que los autores.)

Es divertido, pero incluso Google no parece saber por qué.

Realmente no. Simplemente significa que nadie había pensado previamente en pedir una definición en un lugar que Google indexa. 1) El uso está restringido a la programación Java AFAIK, y 2) la analogía es obvia ... para la mayoría de las personas que usarían el término.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.