~/tech-blog/tag/클린 코드 — zsh

#클린 코드 30 posts

카테고리를 가로질러 클린 코드를 다룬 글을 모았습니다.

인프런 워밍업 클럽 발자국 · 1/4

1주차 발자국

인프런 워밍업 클럽 백엔드 스터디 2기 1주차 회고로, 추상화와 이름 짓기, SOLID 원칙을 적용해 주문 검증 로직을 리팩터링한 과정을 정리합니다.

c31d7cd · 회고 — 6 min
클린 코드 WITH JAVA · 1/16

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

레거시 QnaService의 삭제 로직을 도메인 모델로 옮기는 리팩터링 과제와 그에 대한 리뷰 피드백을 정리합니다.

2023.06.18 · ea0f709 · 클린 코드 with Java — 2 min
클린 코드 WITH JAVA · 2/16

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

익명 클래스를 람다로 바꾸고 스트림의 map, filter, reduce와 Optional을 활용해 리팩토링한 학습 기록입니다.

efa5056 · 클린 코드 with Java — 3 min
클린 코드 WITH JAVA · 4/16

문자열 계산기 — 1단계

들여쓰기 depth와 메서드 크기 제한, else 금지 조건 아래 문자열 사칙연산 계산기를 구현한 과제와 리뷰 피드백을 정리합니다.

2023.04.25 · ea0f709 · 클린 코드 with Java — 2 min
클린 코드 WITH JAVA · 5/16

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

문자열 덧셈 계산기를 TDD로 구현하고 리뷰 피드백에 따라 상수화, 책임 분리, 예외 처리를 리팩토링한 기록입니다.

c31d7cd · 클린 코드 with Java — 2 min
클린 코드 WITH JAVA · 6/16

로또 자동 — 2단계

로또 자동 구매 기능을 TDD로 구현하고 리뷰를 통해 상수 위치와 전략 인터페이스 네이밍을 개선한 기록입니다.

c31d7cd · 클린 코드 with Java — 3 min
클린 코드 WITH JAVA · 7/16

로또 게임 2등 — 3단계

로또 2등 당첨 로직을 enum과 일급 컬렉션으로 구현하고 싱글톤, 스트림 리팩토링을 반영한 기록입니다.

c31d7cd · 클린 코드 with Java — 2 min
클린 코드 WITH JAVA · 8/16

로또 수동 — 4단계

로또 수동 구매 기능을 값 객체와 일급 컬렉션으로 설계하고 리뷰를 반영해 구조를 리팩토링한 기록입니다.

c31d7cd · 클린 코드 with Java — 3 min
클린 코드 WITH JAVA · 9/16

사다리 생성 — 2단계

사다리 게임에 참여자 이름을 출력하는 기능을 구현하고, 생성자 책임 분리와 제네릭 활용에 대한 리뷰 피드백을 정리합니다.

c31d7cd · 클린 코드 with Java — 3 min
클린 코드 WITH JAVA · 10/16

사다리 게임 실행 — 3단계

사다리 게임 실행 결과를 출력하는 기능을 구현하고, 유틸리티 클래스 분리와 명령·조회 책임 분리에 대한 리뷰 피드백을 정리합니다.

c31d7cd · 클린 코드 with Java — 3 min
클린 코드 WITH JAVA · 11/16

사다리 리팩터링 — 4단계

사다리 게임 코드를 리팩터링하며 방어적 복사와 전략 인터페이스 설계에 대한 리뷰 피드백을 정리합니다.

c31d7cd · 클린 코드 with Java — 2 min
클린 코드 WITH JAVA · 12/16

자동차 경주 — 3단계

자동차 경주 게임을 처음 구현하며 View 책임 분리와 축약어 지양, 경계값 테스트에 대한 리뷰 피드백을 정리합니다.

c31d7cd · 클린 코드 with Java — 3 min
클린 코드 WITH JAVA · 13/16

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

자동차 이름과 우승자 판별 기능을 추가하며 원시값 포장과 일급 컬렉션 설계에 대한 리뷰 피드백을 정리합니다.

c31d7cd · 클린 코드 with Java — 2 min
클린 코드 WITH JAVA · 14/16

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

자동차 경주 코드를 MVC 패턴으로 리팩터링하며 사용자 정의 예외와 전략 패턴 적용에 대한 리뷰 피드백을 정리합니다.

c31d7cd · 클린 코드 with Java — 3 min
클린 코드 WITH JAVA · 15/16

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

넥스트스텝 수강신청 미션에서 DB 설계 없이 도메인 모델부터 TDD로 구현하며 받은 리뷰 피드백을 정리합니다.

2023.06.18 · ea0f709 · 클린 코드 with Java — 2 min
클린 코드 WITH JAVA · 16/16

수강신청 DB 적용 — 3단계

2단계에서 만든 도메인 구조를 유지하면서 DB 테이블과 매핑한 수강신청 미션 3단계 리뷰 기록입니다.

2023.07.18 · efa5056 · 클린 코드 with Java — 2 min
객체지향 · 설계

일급컬렉션

Collection을 감싸고 다른 멤버 변수를 두지 않는 일급 컬렉션의 장점을 로또 번호 예제 코드와 함께 정리합니다.

2023.04.22 · c31d7cd · 객체지향 · 설계 — 2 min
객체지향 · 설계

원시값 포장

원시 타입 변수를 값 객체로 감싸면 유효성 검증 책임이 객체 안으로 옮겨져 코드가 더 명확해지는 이유를 예제로 설명합니다.

2023.04.22 · c31d7cd · 객체지향 · 설계 — 1 min
CLEAN CODE · 1/11

2장 의미있는 이름

클린 코드 2장을 읽고 의도를 드러내는 이름 짓기와 그릇된 정보를 피하는 네이밍 원칙을 정리합니다.

2022.04.29 · efa5056 · Clean Code — 3 min
CLEAN CODE · 2/11

3장 함수

함수를 작게 만들고 한 가지 일만 하도록 설계하는 원칙과 인수, 부수 효과, try/catch 분리 등 실전 예제를 정리합니다.

2022.04.29 · efa5056 · Clean Code — 7 min
CLEAN CODE · 3/11

4장 주석

클린 코드 4장을 읽고 나쁜 주석이 코드를 어떻게 해치는지와 남길 만한 좋은 주석의 유형을 정리합니다.

2022.04.29 · efa5056 · Clean Code — 2 min
CLEAN CODE · 4/11

5장 형식맞추기

행 길이, 빈 행, 수직 거리, 가로 공백 등 코드 형식을 잡는 기준을 정리하고 결국 가장 중요한 것은 팀 규칙이라는 결론을 내립니다.

2022.04.30 · c31d7cd · Clean Code — 4 min
CLEAN CODE · 5/11

6장 객체와 자료구조

객체와 자료구조의 비대칭성을 예제로 비교하고, 디미터 법칙을 통해 결합도를 낮추는 방법을 정리합니다.

2022.04.30 · efa5056 · Clean Code — 3 min
CLEAN CODE · 6/11

7장 오류처리

오류 코드 대신 예외를 사용하고, checked Exception의 캡슐화 문제와 null을 반환하지 않는 방법 등 오류 처리 원칙을 정리합니다.

2022.04.30 · efa5056 · Clean Code — 6 min
CLEAN CODE · 7/11

8장 경계

외부 패키지나 프레임워크를 사용할 때 생기는 경계 문제를, java.util.Map을 캡슐화하는 예제로 정리합니다.

2022.05.01 · c31d7cd · Clean Code — 3 min
CLEAN CODE · 8/11

10장 클래스

클린 코드 10장을 읽고 클래스를 작게 유지해야 하는 이유와 단일 책임 원칙, 응집도, 결합도를 낮추는 설계 방법을 정리합니다.

2022.05.02 · c31d7cd · Clean Code — 7 min
CLEAN CODE · 9/11

11장 시스템 (1)

클린 코드 11장을 읽고 시스템 제작과 사용의 분리, Main 분리, 추상 팩토리, 의존성 주입 개념을 예제와 함께 정리합니다.

2022.05.02 · ea0f709 · Clean Code — 5 min
CLEAN CODE · 10/11

11장 시스템 (2)

자바 프록시와 스프링 AOP 예제를 비교하며 횡단 관심사를 분리하는 방법과 POJO 시스템이 주는 기민함을 정리합니다.

2022.05.02 · 5ba103a · Clean Code — 4 min
● main 214 posts UTF-8 LF © 2026 코징 RSS · GitHub