리팩터링2판2 6~12. 리팩터링 이 포스팅은 리팩터링 2판으로 학습한 내용을 토대로 정리한 포스팅입니다. 6~12장은 1장에서 사용했던 리팩토링 패턴들을 하나씩 별도의 예제와 함께 학습하는 것이기 때문에 예제 코드를 첨부하지는 않고 어떠한 방법들이 있는지에 대해 정리해 보겠습니다. 6. 기본적인 리팩터링 리팩터링 이름 반대 함수 추출하기 함수 인라인하기 함수 인라인하기 함수 추출하기 변수 추출하기 변수 인라인하기 함수 선언 바꾸기 변수 캡슐화하기 변수 이름 바꾸기 매개변수 객체 만들기 여러 함수를 클래스로 묶기 여러 함수를 변환 함수로 묶기 단계 쪼개기 7. 캡슐화 리팩터링 이름 반대 레코드 캡슐화하기 컬렉션 캡슐화하기 기본형을 객체로 바꾸기 임시 변수를 질의 함수로 바꾸기 클래스 추출하기 클래스 인라인하기 클래스 인라인하기 클래스 추.. 2023. 1. 8. 4. 테스트 구축하기 이 포스팅은 리팩터링 2판으로 학습한 내용을 토대로 정리한 포스팅입니다. 리팩터링은 분명 가치 있는 도구지만, 그것만으로는 부족합니다. 리팩터링을 제대로 하려면 불가피하게 저지르는 실수를 잡아주는 견고한 테스트 스위트가 뒷받침돼야 합니다. 리팩터링을 하지 않더라도 좋은 테스트를 작성하는 일은 개발 효율을 높여줍니다. (p.133) 4.1 자가 테스트 코드의 위치 프로그래머들이 어떻게 일하는지 가만히 살펴보면 실제로 코드를 작성하는 시간의 비중은 그리 크지 않음을 발견할 수 있습니다. 대부분의 시간은 디버깅에 씁니다. 버그 수정 자체는 대체로 금방 끝납니다. 진짜 끔찍한 건 버그를 찾는 여정입니다. 모든 테스트를 완전히 자동화하고 그 결과까지 스스로 검사하게 만들자. 테스트 스위트는 강력한 버그 검출 도구.. 2023. 1. 8. 이전 1 다음