'데이터가 어디서 어떻게 바뀐 것인지'를 파악하기 힘들면 시스템을 이해하기 어려울 수 있다. 최근에 꽤 오래된 시스템을 리팩터링을 하면서 든 생각이다. 해당 시스템은 몇 가지 객체를 추적하는 트래킹 시스템인데, 여러 가지 모듈로 구성이되며 각 모듈은 전달 받은 데이터를 변형시켜 다음으로 전달한다. 위와 같은 상황에서, 데이터가 어디서 어떻게 바뀐 것인지 잘 파악이 되지 않아 고생을 했다. 예를 들어, 분명히 디텍션 모듈에선 [[bbox], [class], [prob]] 포맷으로 아웃풋을 뽑는데, 최종 데이터 저장 결과 파일의 디텍션 부분에는 왜 [**bbox, class, prob] 포맷이지???? 도대체 어디서 바꾼건가??? 처음엔 대충 모듈명만 보고 당연히 여기서 포맷을 건들지 않을까? 라는 생각으로..