~/tech-blog/series/clean-code-java — zsh
지금 --명이 보고 있습니다오늘 --누적 --

클린 코드 with Java 16 posts

2023.04.25 — 2023.07.18 · 클린 코드 with Java · 다 읽는 데 약 115분

01

레거시 코드 리팩터링 — 1단계

레거시 QnaService의 질문 삭제 로직에서 단위 테스트 가능한 비즈니스 로직을 도메인 모델로 옮기는 리팩터링 미션의 요구사항과 리뷰 피드백을 정리합니다.

2023.06.18 · 3 min
02

스트림, 람다, Optional — 1단계

익명 클래스를 람다로 바꾸고, 람다로 합계 로직의 중복을 없애고, 스트림의 map, filter, reduce와 Optional로 조건 반환·기본값·예외 처리를 구현한 미션 기록입니다.

9 min
04

문자열 계산기 — 1단계

들여쓰기 depth와 메서드 크기 제한, else 금지 조건 아래 문자열 사칙연산 계산기를 구현하고, 리뷰 피드백에 따라 if-else 분기를 연산자 enum으로 바꾼 과정을 정리합니다.

2023.04.25 · 4 min
05

문자열 덧셈 계산기로 배우는 TDD — 2단계

문자열 덧셈 계산기를 TDD로 구현하고, 리뷰 피드백에 따라 상수화, 멤버 변수의 지역 변수 전환, 들여쓰기를 줄이는 메서드 분리, 테스트 개선을 적용한 기록입니다.

11 min
06

로또 자동 — 2단계

로또 자동 구매 기능을 TDD로 구현하고, 리뷰를 반영해 당첨 상수를 enum 안으로 옮기고 전략 인터페이스 이름을 구체적으로 바꾼 기록입니다.

8 min
07

로또 게임 2등 — 3단계

보너스 볼로 2등을 판정하는 로또 3단계를 enum과 일급 컬렉션으로 구현하고, 리뷰를 반영해 enum 상수 정리, 서비스 객체 싱글톤, 스트림 리팩터링을 적용한 기록입니다.

6 min
08

로또 수동 — 4단계

로또 수동 구매 기능을 값 객체와 일급 컬렉션으로 구현하고, 리뷰를 반영해 view 쪽 입력 객체, 수동·자동 로또를 합치는 메소드, 스트림으로 구조를 바꾼 기록입니다.

7 min
09

사다리 생성 — 2단계

사다리 미션 2단계에서 참여자 이름과 함께 사다리를 출력하는 기능을 구현하고, 생성자 책임 분리, Object 대신 제네릭과 Supplier 활용, 오버엔지니어링 기준에 대한 리뷰 피드백을 정리합니다.

9 min
10

사다리 게임 실행 — 3단계

사다리 미션 3단계에서 실행 결과를 출력하는 기능을 구현하고, Utils 이름과 논리적 의존성, 명령과 조회 분리, enum 패키지 위치, 메서드 응집도에 대한 리뷰 피드백을 정리합니다.

7 min
11

사다리 리팩터링 — 4단계

사다리 미션 4단계에서 코드를 리팩터링하며 받은 방어적 복사, 메서드 이름과 역할, 내부에서만 쓰는 enum, 전략 인터페이스 주입에 대한 리뷰 피드백을 정리합니다.

6 min
12

자동차 경주 — 3단계

자동차 경주 게임을 처음 구현하며 받은 View 책임 분리, 축약어 지양, 경계값 테스트, 생성자에서 자동차 생성, 유틸리티 클래스의 private 생성자에 대한 리뷰 피드백을 정리합니다.

14 min
13

자동차 경주 우승자 — 4단계

자동차 이름과 우승자 판별 기능을 추가하며 받은 클래스 변수 작성 순서, 원시값 포장, String.format, stream 활용에 대한 리뷰 피드백과 일급 컬렉션으로 정리한 코드를 기록합니다.

13 min
14

자동차 경주 리팩터링 — 5단계

자동차 경주 코드를 MVC 패턴으로 리팩터링하며 받은 사용자 정의 예외, 실패하는 테스트, 정적 팩토리 메서드, 전략 패턴에 대한 리뷰 피드백을 정리합니다.

7 min
15

수강신청 도메인 모델 — 2단계

넥스트스텝 수강신청 미션 2단계에서 DB 테이블 설계 없이 강의(Session)의 도메인 모델부터 TDD로 구현하며 받은 수강 인원 검증 위치, enum에 메시지 보내기 리뷰 피드백을 정리합니다.

2023.06.18 · 3 min
16

수강신청 DB 적용 — 3단계

수강신청 미션 3단계에서 2단계의 도메인 구조를 유지하며 DB 테이블과 매핑하고, 도메인 의도가 드러나는 메서드 이름과 SessionUserMapping 목록에 대한 리뷰 피드백을 정리합니다.

2023.07.18 · 3 min
● main 231 posts UTF-8 LF © 2026 코징 RSS · GitHub