레거시 코드 리팩터링 — 1단계
레거시 QnaService의 질문 삭제 로직에서 단위 테스트 가능한 비즈니스 로직을 도메인 모델로 옮기는 리팩터링 미션의 요구사항과 리뷰 피드백을 정리합니다.
문자열 계산기 — 1단계
들여쓰기 depth와 메서드 크기 제한, else 금지 조건 아래 문자열 사칙연산 계산기를 구현하고, 리뷰 피드백에 따라 if-else 분기를 연산자 enum으로 바꾼 과정을 정리합니다.
문자열 덧셈 계산기로 배우는 TDD — 2단계
문자열 덧셈 계산기를 TDD로 구현하고, 리뷰 피드백에 따라 상수화, 멤버 변수의 지역 변수 전환, 들여쓰기를 줄이는 메서드 분리, 테스트 개선을 적용한 기록입니다.
로또 자동 — 2단계
로또 자동 구매 기능을 TDD로 구현하고, 리뷰를 반영해 당첨 상수를 enum 안으로 옮기고 전략 인터페이스 이름을 구체적으로 바꾼 기록입니다.
로또 게임 2등 — 3단계
보너스 볼로 2등을 판정하는 로또 3단계를 enum과 일급 컬렉션으로 구현하고, 리뷰를 반영해 enum 상수 정리, 서비스 객체 싱글톤, 스트림 리팩터링을 적용한 기록입니다.
로또 수동 — 4단계
로또 수동 구매 기능을 값 객체와 일급 컬렉션으로 구현하고, 리뷰를 반영해 view 쪽 입력 객체, 수동·자동 로또를 합치는 메소드, 스트림으로 구조를 바꾼 기록입니다.
사다리 생성 — 2단계
사다리 미션 2단계에서 참여자 이름과 함께 사다리를 출력하는 기능을 구현하고, 생성자 책임 분리, Object 대신 제네릭과 Supplier 활용, 오버엔지니어링 기준에 대한 리뷰 피드백을 정리합니다.
사다리 게임 실행 — 3단계
사다리 미션 3단계에서 실행 결과를 출력하는 기능을 구현하고, Utils 이름과 논리적 의존성, 명령과 조회 분리, enum 패키지 위치, 메서드 응집도에 대한 리뷰 피드백을 정리합니다.
사다리 리팩터링 — 4단계
사다리 미션 4단계에서 코드를 리팩터링하며 받은 방어적 복사, 메서드 이름과 역할, 내부에서만 쓰는 enum, 전략 인터페이스 주입에 대한 리뷰 피드백을 정리합니다.
자동차 경주 — 3단계
자동차 경주 게임을 처음 구현하며 받은 View 책임 분리, 축약어 지양, 경계값 테스트, 생성자에서 자동차 생성, 유틸리티 클래스의 private 생성자에 대한 리뷰 피드백을 정리합니다.
자동차 경주 우승자 — 4단계
자동차 이름과 우승자 판별 기능을 추가하며 받은 클래스 변수 작성 순서, 원시값 포장, String.format, stream 활용에 대한 리뷰 피드백과 일급 컬렉션으로 정리한 코드를 기록합니다.
자동차 경주 리팩터링 — 5단계
자동차 경주 코드를 MVC 패턴으로 리팩터링하며 받은 사용자 정의 예외, 실패하는 테스트, 정적 팩토리 메서드, 전략 패턴에 대한 리뷰 피드백을 정리합니다.
수강신청 도메인 모델 — 2단계
넥스트스텝 수강신청 미션 2단계에서 DB 테이블 설계 없이 강의(Session)의 도메인 모델부터 TDD로 구현하며 받은 수강 인원 검증 위치, enum에 메시지 보내기 리뷰 피드백을 정리합니다.
수강신청 DB 적용 — 3단계
수강신청 미션 3단계에서 2단계의 도메인 구조를 유지하며 DB 테이블과 매핑하고, 도메인 의도가 드러나는 메서드 이름과 SessionUserMapping 목록에 대한 리뷰 피드백을 정리합니다.