본문 바로가기

전체 글163

리팩토링 챕터 8 8장 기능 이동 8.1 함수 옮기기 배경 좋은 소프트웨어 설계의 핵심은 모듈성이다 모듈성이 높으면 프로그램의 어느 부분을 수정하려 할 때 관련된 작은 일부만을 이해해도 가능하게 해주는 능력이다. 연관된 요소들을 함께 묶고, 요소 사이의 연결 관계를 쉽게 찾고 이해할 수 있도록 해야 한다. 모든 함수는 컨텍스트안에 존재한다. 객체 지향 프로그래밍에서 핵심 모듈화 컨텍스트는 클래스다. 어떤 함수가 자신이 속한 모듈의 요소보다 다른 모듈의 요소들을 더 많이 참조한다면 옮겨주는것이 마땅하다. 함수 중 독립적으로도 고유한 가치가 있거나 다른 클래스로 옮겨두면 사용하기 더 편한 메소드도 옮기는게 낫다. 함수를 옮길지 말기 고민된다면 대상 함수의 현재 컨텍스트와 후보 컨텍스트를 둘러보자 대상 함수를 호출하는 함수 대.. 2023. 7. 25.
토비의 스프링 4일차 https://www.notion.so/1-7894537aa4254db092433fbc63d5fe8d?pvs=4 2023. 7. 19.
토비의 스프링 3일차 https://www.notion.so/1-7894537aa4254db092433fbc63d5fe8d?pvs=4 2023. 7. 19.
리팩터링 챕터7 https://www.notion.so/7-2fdcf5b265eb4462b45f85118a8be4cd?pvs=4 2023. 7. 17.
리팩터링 챕터 6 https://www.notion.so/6-18f1379087114234ab46e26e98c6a368?pvs=4 2023. 7. 16.
토비의 스프링 2일차 https://www.notion.so/1-7894537aa4254db092433fbc63d5fe8d?pvs=4 원칙과 패턴 - 개방 폐쇄의 법칙 - 높은 응집도와 낮은 결합도 - 전략 패턴 제어의 역전 - 오브젝트 팩토리 2023. 7. 15.
토비의 스프링 1일 https://www.notion.so/1-7894537aa4254db092433fbc63d5fe8d?pvs=4 2023. 7. 14.
[단위 테스트 스터디] 03. 단위 테스트 구조 단위 테스트 구조 단위 테스트 구조 좋은 단위 테스트 명명법 매개변수화된 테스트 작성 Fluent Assertions 사용 3.1 단위 테스트를 구성하는 방법 3.1.1 AAA 패턴 사용 준비 (Arrange) 실행 (Act) 검증 (assert) 스위트 내 모든 테스트가 단순하고 균일한 구조를 가지도록 도와준다. 이는 테스트 스위트의 유지 보수 비용을 감소시킨다. 준비 SUT(테스트 대상 시스템)와 해당 의존성을 원하는 상태로 만든다. 실행 SUT에서 메서드를 호출하고 준비된 의존성을 전달하며 출력이 있는 경우 출력 값을 캡처한다. 검증 결과 검증. 반환 값이나 SUT와 협력자의 최종 상태, SUT가 협력자에 호출한 메서드 등으로 표시한다. TDD를 실천하여 기능을 개발하기 전에 실패할 테스트를 만들 .. 2023. 3. 28.
[단위 테스트 스터디] 02. 단위 테스트란 무엇인가 https://www.notion.so/2-51ceaef9752543a9836116bf67a50c3f?pvs=4 2장 2.1 ‘단위 테스트’의 정의 작은 코드 조각 혹은 작은 코드 단위를 빠르고 격리된 방식으로 처리하는 자동화된 테스트 고전파와 런던파를 가르는 기준은 격리가 무엇인지에 대한 정의로 갈린다. 2.1.1 격리 문제에 대한 런던파의 접근 테스트 대상 클래스에만 집중해야 한다. 테스트를 하고자 하는 클래스가 다른 클래스들에 의존한다면 이 의존성들은 테스트 대역으로 대체되어야한다. 테스트 대상 클래스에만 집중하는 방식의 장점 테스트 실패시 대상 클래스에 문제가 있다는 것을 확신할 수 있다. 의존성은 모두 대역으로 대체 되었기때문에 의존 클래스는 의심할 필요가 없다. 객체 그래프를 효과적으로 분리하.. 2023. 3. 26.
728x90