레거시 코드 리팩터링 — 1단계
레거시 QnaService의 삭제 로직을 도메인 모델로 옮기는 리팩터링 과제와 그에 대한 리뷰 피드백을 정리합니다.
2023.04.25 — 2023.07.18 · 클린 코드 with Java · 다 읽는 데 약 38분
레거시 QnaService의 삭제 로직을 도메인 모델로 옮기는 리팩터링 과제와 그에 대한 리뷰 피드백을 정리합니다.
익명 클래스를 람다로 바꾸고 스트림의 map, filter, reduce와 Optional을 활용해 리팩토링한 학습 기록입니다.
Set 컬렉션을 대상으로 학습 테스트를 작성하고 JUnit5의 ParameterizedTest로 중복 코드를 제거한 기록입니다.
들여쓰기 depth와 메서드 크기 제한, else 금지 조건 아래 문자열 사칙연산 계산기를 구현한 과제와 리뷰 피드백을 정리합니다.
문자열 덧셈 계산기를 TDD로 구현하고 리뷰 피드백에 따라 상수화, 책임 분리, 예외 처리를 리팩토링한 기록입니다.
로또 자동 구매 기능을 TDD로 구현하고 리뷰를 통해 상수 위치와 전략 인터페이스 네이밍을 개선한 기록입니다.
로또 2등 당첨 로직을 enum과 일급 컬렉션으로 구현하고 싱글톤, 스트림 리팩토링을 반영한 기록입니다.
로또 수동 구매 기능을 값 객체와 일급 컬렉션으로 설계하고 리뷰를 반영해 구조를 리팩토링한 기록입니다.
사다리 게임에 참여자 이름을 출력하는 기능을 구현하고, 생성자 책임 분리와 제네릭 활용에 대한 리뷰 피드백을 정리합니다.
사다리 게임 실행 결과를 출력하는 기능을 구현하고, 유틸리티 클래스 분리와 명령·조회 책임 분리에 대한 리뷰 피드백을 정리합니다.
사다리 게임 코드를 리팩터링하며 방어적 복사와 전략 인터페이스 설계에 대한 리뷰 피드백을 정리합니다.
자동차 경주 게임을 처음 구현하며 View 책임 분리와 축약어 지양, 경계값 테스트에 대한 리뷰 피드백을 정리합니다.
자동차 이름과 우승자 판별 기능을 추가하며 원시값 포장과 일급 컬렉션 설계에 대한 리뷰 피드백을 정리합니다.
자동차 경주 코드를 MVC 패턴으로 리팩터링하며 사용자 정의 예외와 전략 패턴 적용에 대한 리뷰 피드백을 정리합니다.
넥스트스텝 수강신청 미션에서 DB 설계 없이 도메인 모델부터 TDD로 구현하며 받은 리뷰 피드백을 정리합니다.
2단계에서 만든 도메인 구조를 유지하면서 DB 테이블과 매핑한 수강신청 미션 3단계 리뷰 기록입니다.