Estamos utilizando una biblioteca proporcionada por otra persona. Últimamente debido a cambios en esa biblioteca nuestro proyecto tiene 500 errores. Al migrar a la nueva biblioteca descubrimos que solo 15 API están fallando y 500 errores son repetitivos (ocurrencias múltiples de esos 15 errores, ya que las mismas llamadas se utilizan tantas veces).¿Es este un uso excesivo de la abstracción?
Por lo tanto, para la migración propuse la creación de otra clase contenedora interna estática, que envuelve esas llamadas a la API de la biblioteca. Porque si la biblioteca volviera a cambiar tendremos menos código para cambiar y, por lo tanto, el código se volverá más fácil de mantener en el futuro. Y también al envolver las llamadas, evitamos los errores humanos (o los usos involuntarios (sobrecargados) de la API).
Pero algunas personas aquí, no ven el sentido de tener otra clase contenedora, que creen que es totalmente innecesaria. Su único argumento es que, como la mayoría de los cambios de API son solo una línea, siempre podemos cambiarlos usando CTRL + H (Buscar y reemplazar). Y también dicen que esta abstracción adicional que estoy sugiriendo, quita la legibilidad (ya que oculta la llamada API real detrás de otro nombre de método (aunque significativo)) para el codificador/lector.
¿Cuál es el mejor enfoque aquí? ¿Me equivoco con mis sugerencias?
Esto no es una mala idea. No dejes que los nay-sayers te depriman. Si insisten en eliminar esta abstracción, la próxima vez * ellos * pueden ser los que arreglen los más de 500 problemas de compilación de bibliotecas. – FrustratedWithFormsDesigner
Y, utilizando Buscar/Reemplazar en toda la solución garantiza horas de diversión para todo el equipo. – SWeko
SWeko: Creo que aquí hay una broma que me falta. ¿Hay una situación en la que un hallazgo/reemplazo global podría causar "horas" de esfuerzo por más que la persona que realiza el hallazgo/reemplazo? – Ken