Evitar la costra cuando el diseño se pone al día con la implementación [cerrar]

StackOverflow https://stackoverflow.com/questions/940441

  •  06-09-2019
  •  | 
  •  

Pregunta

Soy un contratista y estoy a menudo se lleve a los proyectos a ser la cabeza hacia abajo y acaba de implementar características de una fecha límite. A menudo, aunque mi ritmo se hace más rápida que la del diseño subyacente. Así que a menudo terminan encima de tener que crear funciones / métodos para realizar una tarea de manera preliminar a la espera de que el diseño final.

El caso en cuestión, actualmente tenía la tarea de realizar la clasificación por defecto de algunos registros de una manera que es demasiado complicado para el diseño de base de datos actual (en realidad me gustaría usar la función "campo" de MySQL, excepto que no creo Java / Hibernate soporta). Así que creé una función en la que los registros podrían, por el momento se ordenarán a nivel de aplicación, que bien podría ser re-implementado, o evitar por completo, una vez que el trabajo de diseño de base de datos se hace necesario.

Mi preocupación es, una vez que todo el diseño está terminado necesaria (en general y / o específicamente en lo relativo al escenario descrito anteriormente), no quiero dejar atrás un rastro de funciones posiblemente innecesarios / métodos. A veces se podría añadir valor al diseño, pero a veces pueden terminar siendo una capa innecesaria de direccionamiento indirecto en el final.

¿Qué tan preocupado debería estar acerca de esto? ¿Qué puedo hacer para mitigar este? Por lo general ser un muy contratista a corto plazo, por lo general no tienen el tiempo - o la autoridad - para implementar algo como un "patrón de estrategia", lo que podría ser mi inclinación si fuera realmente responsable para el diseño general.

¿Fue útil?

Solución

Creo que una cierta cantidad de costra es de esperar como evoluciona una base de código. Incluso cuando se trata de ser sistemática acerca de la eliminación de distancia código no utilizado de edad es difícil quitarlo todo. Siempre ha de encontrar la satisfacción de código no utilizado en mi sistema que pueda eliminar.

La tipificación estricta es su amigo aquí, ya que permite realizar un seguimiento de los tipos y usos de mucho mejor manera de tipificación débil. Así que se mantenga alejado de los tipos de datos de cadena, hacen más difícil la limpieza.

Un truco muy interesante es si se puede reproducir 24 horas de valor del tráfico de sus sistemas de producción de más de un sistema de prueba con una herramienta de cobertura de código que se ejecuta al mismo tiempo. Eso es por lo general una mina de oro de código muerto, pero puede ser difícil encontrar el tiempo para hacer frente a estas grandes cantidades de limpieza entre otras prioridades;)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top