전략 패턴?말이 어렵다. 개발 쪽 용어들 중 대부분은 이렇게 이름만 들었을 때는 너무 추상적이다 싶은 개념들이 많은 것 같다. (아무래도 개발 커뮤니티가 영어권 나라를 중심으로 발전해왔고, 이걸 번역하는 영어가 되는 개발자 분들이 이런 언어들을 직역하면서 생긴 현상이
테스트 하기 쉬운 코드와 테스트하기 어려운 코드를 보는 눈을 기르고, 테스트 하기 쉬운 코드로 설계하는 감을 익혀야함.의식적인 연습이 필요의식적인 연습?else 예약어를 쓰지 않는 연습indent depth 1까지만 허용함수 길이가 15라인을 넘어가지 않도록 구현오픈소
TDD는 단순 테스트 기법이 아니라, 요구사항을 분석하고 설계하는 기법이다.요구 사항을 작은 단위로 쪼갠다각 요구 사항에 맞는 테스트 코드를 작성한다.테스트 코드를 하나 완성할 때마다(최소 요구 사항 단위) 테스트를 통과하기 위한 실제 기능 코드를 구현한다.(이 과정에
테스트하기 어려운 코드를 object graph의 상위쪽으로 옮긴다 (옮기기 전 단계는 결국 테스트할 수 없어지지만, 우리는 모든 코드를 테스트하는게 목표는 아님)\-> 테스트 하기 어려운 부분을 분리해서 핵심로직을 테스트하는게 목적메소드의 크기가 최대 10라인을 넘지
자바는 가장 작은 동작 단위가 클래스 -> 람다처럼 함수로 구현해도 결국 내부 구현은 클래스이다인터페이스 추출해서 넣어주는거 자체가 DI(Dependancy Injection) -> 소프트웨어의 유연성을 위해 스프링 이전부터 많이 쓰던 기법.리팩토링 전리팩토링 후\->
상속 관계 (Is - a 관계)조합 관계(has - a 관계)\-> 둘 다 가능한 경우 조합을 먼저 트라이 해보는게 좋음.코드의 재사용성 측면에서는 상속이 유리하지만, 유연성 측면에서는 조합이 더 유리.조합도 코드를 재사용하는 거긴함 (좀 더 코드가 많아진다는 단점)가
테스트 종류1\. 도메인 객체 단위테스트2\. 인수테스트3\. 서비스 레이어 테스트=> 계속 하고자 하는 부분은 서비스에 산재되어있던 비즈니스 로직을 연관된 도메인 객체로 옮기고 도메인 객체 단위테스트를 작성하는 것=> 이렇게 됐을 때 서비스 레이어의 mock 기반 테
프로그래밍 종류 명령형 프로그래밍 - java 선언형 프로그래밍 함수형 프로그래밍 -> 선언형 프로그래밍 스타일을 어느정도 익힐 수 있음 함수형 프로그래밍 장점 멀티 쓰레드, 멀티 cpu 환경에서 상태를 변경하지 않는 방식을 강조하는 함수형 프로그래밍의 이점 ( 객