[c#] 리팩터링 후 디버깅
리팩터링은 코드를 변경하지 않고도 구조를 개선하는 작업입니다. 하지만 리팩터링을 했다고 해서 버그가 전혀 없는 것은 아닙니다. 리팩터링 후에도 버그가 발생할 수 있기 때문에 디버깅은 여전히 중요한 작업입니다.
리팩터링 후 디버깅 과정
-
리팩터링: 먼저 코드를 개선하고 정리합니다. 이는 변수명 변경, 메서드 분리, 중복 코드 제거 등을 포함합니다.
-
테스트: 리팩터링 이후에는 기존의 테스트 케이스들을 실행하여 코드 변경으로 인해 새로운 버그가 발생하지 않았는지를 확인합니다.
-
디버깅: 가능한 새로운 버그를 찾기 위해 디버깅을 수행합니다. 리팩터링으로 인해 생긴 문제 또는 이전에 숨겨져 있던 문제를 찾아 수정합니다. 디버깅 도구를 사용하여 코드를 실행하면서 오류를 발견하고 수정하는 과정입니다.
-
테스트: 디버깅 후에는 재테스트를 통해 수정된 코드가 여전히 올바르게 동작하는지 확인합니다.
디버깅 팁
-
잘못된 가정 확인: 코드가 잘 동작하지 않을 때, 가정이나 예상과 다른 부분을 확인합니다. 리팩터링 이후 가정이 변경되었을 수도 있으므로 이를 고려해야 합니다.
-
로그 추가: 디버깅을 위해 필요한 변수나 상태를 로그로 남기는 것은 유용합니다. 이를 통해 코드의 실행 흐름을 추적하고 문제를 파악하는 데 도움이 됩니다.
-
단계별 검토: 각 단계별로 새로운 변경을 하면서 디버깅을 진행하며, 한꺼번에 많은 변경을 하지 않도록 주의합니다.
리팩터링 후에도 버그는 발생할 수 있으므로 디버깅을 소홀히하지 않고, 코드 변경과 디버깅을 신중하게 진행해야 합니다.
참고 자료:
- Fowler, Martin. “Refactoring: Improving the Design of Existing Code.” Addison-Wesley, 2018.