Bir "spagetti-code" projesi üzerinde çalışıyorum ve hataları giderirken ve yeni özellikler uygularken, kod birim test edilebilir hale getirmek için bazı yeniden düzenleme yapmak.
Kod genellikle o kadar sıkı bağlanır veya karmaşıktır ki, küçük bir hatayı düzeltmek birçok sınıfın yeniden yazılmasına neden olur. Bu yüzden yeniden düzenlemeyi bıraktığım kodda bir yere bir çizgi çizmeye karar verdim. Bunu netleştirmek için, durumu açıklayan koddaki bazı yorumları bırakıyorum, örneğin:
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;
}
}
Veya başka bir parça kek:
// 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>>>>();
Bu iyi bir fikir mi? Bunu yaparken nelere dikkat etmeliyim?