Saya sedang mengerjakan proyek "kode-spaghetti", dan sementara saya memperbaiki bug dan mengimplementasikan fitur-fitur baru, saya juga melakukan beberapa refactoring untuk membuat unit kode dapat diuji.
Kode sering kali sangat erat atau rumit sehingga memperbaiki bug kecil akan menghasilkan banyak kelas yang ditulis ulang. Jadi saya memutuskan untuk menarik garis di suatu tempat di dalam kode tempat saya berhenti refactoring. Untuk memperjelas ini, saya memberikan beberapa komentar dalam kode yang menjelaskan situasi, seperti:
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;
}
}
Atau, sepotong kue:
// 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>>>>();
Apakah ini ide yang bagus? Apa yang harus saya ingat ketika melakukannya?