티스토리 뷰
728x90
반응형
리팩터링을 제대로 하려면 불가피하게 저지르는 실수를 잡아주는 견고한 Test suite가 뒷받침돼야 한다.
컴파일할 때마다 테스트를 함께하면 디버깅 시간이 크게 줄어든다.
테스트 스위트는 강력한 버그 검출 도구로, 버그를 찾는 데 걸리는 시간을 대폭 줄여준다.
테스트를 작성하기 가장 좋은 시점은 프로그래밍을 시작하기 전이다.
기능을 추가해야 할 때 테스트부터 작성한다.
원하는 기능을 추가하기 위해 무엇이 필요한지 고민하게 되고
구현보다 인터페이스에 집중하게 된다는 장점
TDD(Test Driven Development)
처음에는 통과하지 못할 테스트를 작성하고,
이 테스트를 통과하게끔 코드를 작성하고,
결과 코드를 최대한 깔끔하게 리팩터링하는 과정을 짧은 주기로 반복한다.
테스트-코딩-리팩터링
실패해야 할 상황에서는 반드시 실패하게 만들자
자주 테스트하라. 작성 중인 코드는 최소한 몇 분 간격으로 테스트하고,
적어도 하루에 한 번은 전체 테스트를 돌려보자
단순히 필드를 읽고 쓰기만 하는 접근자는 테스트할 필요가 없다.
완벽하게 만드느라 테스트를 수행하지 못하느니, 불완전한 테스트라도 작성해 실행하는 게 낫다.
문제가 생길 가능성이 있는 경계 조건을 생각해보고 그 부분을 집중적으로 테스트하자
테스트가 모든 버그를 걸러주지는 못할지라도, 안심하고 리팩터링할 수 있는 보호막은 되어준다.
리팩터링을 하면서 프로그램을 더욱 깊이 이해하게 되어 더 많은 버그를 찾게 된다.
728x90
반응형
'Java' 카테고리의 다른 글
[Java] Enum Singleton Pattern (0) | 2023.12.27 |
---|---|
[Java] 기본적인 리팩터링 (0) | 2023.12.16 |
[Java] 리팩터링 원칙 (0) | 2023.12.03 |
[Java] CompletableFuture (1) | 2023.11.27 |
[Java] 리팩터링 (1) | 2023.11.26 |
반응형
300x250