Estoy trabajando en un proyecto de "código de espagueti", y mientras estoy arreglando errores e implementando nuevas características, también realizo algunas refactorizaciones para que el código sea comprobable por unidad.
El código suele estar tan estrechamente acoplado o complicado que corregir un pequeño error daría como resultado que se reescriban muchas clases. Así que decidí dibujar una línea en algún lugar del código donde dejo de refactorizar. Para aclarar esto, dejo algunos comentarios en el código que explican la situación, como:
class RefactoredClass {
private SingletonClass xyz;
// I know SingletonClass is a Singleton, so I would not need to pass it here.
// However, I would like to get rid of it in the future, so it is passed as a
// parameter here to make this change easier later.
public RefactoredClass(SingletonClass xyz) {
this.xyz = xyz;
}
}
O, otro pedazo de pastel:
// This might be a good candidate to be refactored. The structure is like:
// Version String
// |
// +--> ...
// |
// +--> ...
// |
// ... and so on ...
//
Map map = new HashMap<String, Map<String, Map<String, List<String>>>>();
¿Es esta una buena idea? ¿Qué debo tener en cuenta al hacerlo?
refactoring
comments
Uooo
fuente
fuente
Respuestas:
Si ha asignado tiempo para terminar su refactorización, y si realmente lo hace, entonces sí, funcionará.
Los IDE modernos tienen una opción para buscar y mostrar líneas TODO. Debe verificarlos de vez en cuando e intentar reducir sus números siempre que pueda.
fuente
Haría
/// @todo
comentarios sobre tales consideraciones para doxygen o una etiqueta personalizada fácil de instalar para javadoc , por lo que se extrae automáticamente a la sección de tareas pendientes de los documentos de la API. Los comentarios simples se pasarán por alto con demasiada facilidad y eventualmente se perderán en las profundidades del código.[Editar] Por cierto: esta es una buena idea:
Creo que (¡sé por experiencia!), La refactorización puede ser muy peligrosa, especialmente cuando todavía no hay pruebas unitarias. Por lo tanto, será mejor que restrinja su trabajo extra (al corregir errores, etc.) al agregar comentarios de tareas pendientes ... Todos sabemos: cuando sea posible;)
fuente