Pregunta

dice que recibió una vieja base de código que se necesita para mantener y no es claramente compatible con los estándares actuales. ¿Cómo se distribuyen los esfuerzos para mantener la base de código compatible hacia atrás al tiempo que obtienen el cumplimiento de las normas? Lo que es importante para usted?

¿Fue útil?

Solución

En mi lugar de trabajo no nos cualquier momento refactorizar cosas sólo porque hace que el código mejor. Tiene que haber un error o una solicitud de función por parte del cliente.

Dado que la regla hago lo siguiente:

Cuando refactorizar:

Si tengo que hacer cambios a un viejo proyecto, la limpieza, refactor o reescribir la parte que estoy cambiando.

Debido a que siempre tengo que entender el código para realizar el cambio, en primer lugar, que es el mejor momento para realizar otros cambios.

También este es un buen momento para agregar faltan pruebas de unidad, para su cambio y el código existente.

Siempre hago la refactorización primero y luego hacer mis cambios, de manera de que estoy mucho más segura que mis cambios no se rompió nada.

Prioridades:

Las partes de código que deben refactorización más, a menudo contienen la mayoría de los insectos. También no obtenemos ningún informes de errores o peticiones de piezas que no son de interés para el cliente. Por lo tanto con este método de priorización viene automáticamente.

Circumenventing malos diseños:

Creo que hay un montón de libros sobre esto, pero esto es lo que más me ayudó:

fachadas :

  1. Fachadas con un nuevo buen diseño que "cuarentena" el mal código existente. Puedo usar esto si tengo que escribir código nuevo y tengo que volver a utilizar el código existente mal estructurado, que no puedo cambiar debido a las limitaciones de tiempo.
  2. Fachadas con el mal diseño original, que ocultan el nuevo código de buena. Puedo usar esto si tengo que escribir nuevo código que es utilizado por el código existente.

El objetivo principal de estas fachadas se está dividiendo el bien del mal de código y de este modo limitar dependencias y efectos en cascada.

Otros consejos

Me cuenta el tiempo para arreglar los módulos ya que tenía que trabajar con ellos. Una por adelantado reescritura / refactor no va a volar en cualquier empresa razonable, sino que va a ser casi definitivamente una pesadilla para mantener una base de código bodgy sin limpiarlo un poco.

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