¿Existe un buen término que sea similar pero diferente de "desaprobar" para significar que un método o API está en la base del código pero que no debe usarse porque su implementación no está completa o probablemente cambiará? (Sí, lo sé, esos métodos no deberían ser públicos, yada yada yada. No creé mi situación, solo estoy tratando de sacar lo mejor de eso).
¿Qué sugiere la gente? Experimental, incompleto, ¿algo más?
Si estoy compilando documentación de javadoc para esta API que todavía está en flujo, ¿debería usar la etiqueta @deprecated o hay una convención mejor? Para mí, @deprecated implica que esta API es antigua y que hay disponible un mecanismo preferido más nuevo. En mi situación, no hay alternativa, pero algunos de los métodos en la API no están terminados y, por lo tanto, no deberían usarse. En este punto no puedo hacerlos privados, pero me gustaría poner advertencias claras en los documentos.
fuente
Respuestas:
El término apropiado es probablemente incubadora , este es uno usado por Google y Apache:
google-web-toolkit-incubator
Incubadora Apache
Si observa más de cerca los proyectos mencionados anteriormente, puede observar que las API "experimentales" (por ejemplo, en GWT) tienden a tener nombres de paquetes "dedicados", como
com.google.gwt.gen2
. Esto es para evitar la contaminación futura API "finalizada" destinada al consumo público permanente, porque, ya sabes,fuente
Lo usaría
@deprecated
por razones puramente prácticas.Aunque
@deprecated
no transmite el significado exacto que le gustaría, tiene una ventaja significativa: el compilador de Java tiene soporte incorporado. Compilar con-deprecation
flag le permite encontrar todos los lugares donde anula un método obsoleto, lo que ayuda a sus usuarios a encontrar códigos sospechosos muy rápidamente. Puede usar la@deprecated
etiqueta Javadoc para explicar lo que realmente está sucediendo a cualquiera a quien le interese leer su documentación. Aquí es donde puede decirle al usuario que la API es experimental, debe usarse bajo su propio riesgo, y así sucesivamente.fuente
Nunca he visto algo así en otras API, ya que las características experimentales o incompletas no tienen nada que ver en una API pública.
Como no tiene opciones, simplemente coloque una advertencia claramente visible de que la parte de la API está sujeta a cambios.
fuente