저는 "스파게티 코드"프로젝트를 진행 중이며 버그를 수정하고 새로운 기능을 구현하는 동안 코드를 단위로 테스트 할 수 있도록 리팩토링도합니다.
코드는 종종 너무 밀접하게 결합되거나 복잡하여 작은 버그를 수정하면 많은 클래스가 다시 작성됩니다. 그래서 리팩토링을 중단하는 코드 어딘가에 선을 그리기로 결정했습니다. 이를 명확히하기 위해 상황에 대해 설명하는 코드에 다음과 같은 주석을 추가합니다.
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;
}
}
또는 다른 케이크 조각 :
// 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>>>>();
이것이 좋은 생각입니까? 그렇게 할 때 무엇을 명심해야합니까?