~/tech-blog/tag/리팩터링 — zsh
지금 --명이 보고 있습니다오늘 --누적 --

#리팩터링 15 posts

카테고리를 가로질러 리팩터링를 다룬 글을 모았습니다.

객체지향 · 설계

SOLID

SRP, OCP, LSP, ISP, DIP 다섯 가지 객체지향 설계 원칙을 주문 유효성 검사, 도형 넓이, 새 클래스 Java 예제와 흐름도로 정리합니다.

2024.10.03 · 1354ac5 · 객체지향 · 설계 — 11 min
클린 코드 WITH JAVA · 1/16

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

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

2023.06.18 · 50a770f · 클린 코드 with Java — 3 min
클린 코드 WITH JAVA · 4/16

문자열 계산기 — 1단계

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

2023.04.25 · 50a770f · 클린 코드 with Java — 4 min
클린 코드 WITH JAVA · 5/16

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

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

50a770f · 클린 코드 with Java — 11 min
클린 코드 WITH JAVA · 6/16

로또 자동 — 2단계

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

50a770f · 클린 코드 with Java — 8 min
클린 코드 WITH JAVA · 7/16

로또 게임 2등 — 3단계

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

f31faa2 · 클린 코드 with Java — 6 min
클린 코드 WITH JAVA · 11/16

사다리 리팩터링 — 4단계

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

50a770f · 클린 코드 with Java — 6 min
JAVA · JVM

Stream을 활용한 예제 모음

for문 대신 자바 Stream으로 리스트·맵 변환, enum 값 찾기, 합계, 중복 체크, null 처리, 문자열 합치기, reduce를 작성한 예제를 정리합니다.

2023.05.19 · 20eb3a0 · Java · JVM — 5 min
객체지향 · 설계

익명 클래스

자바의 익명 클래스가 무엇인지 정리하고, 조건만 다른 합계 함수의 중복을 조건 전달로 줄이는 예제, 인터페이스를 이름 없이 구현하는 방법과 람다와의 관계, 사용할 때의 이점을 흐름도와 함께 정리합니다.

2023.05.16 · 1354ac5 · 객체지향 · 설계 — 5 min
객체지향 · 설계

정적 팩토리 메소드 패턴

Track에서 Cars를 만들던 반복문을 Cars.from()으로 옮기는 예제로 정적 팩토리 메서드가 객체 생성 로직을 감추는 방식을 살펴보고, from·of·getInstance 등 네이밍 컨벤션을 정리합니다.

2023.04.22 · 1354ac5 · 객체지향 · 설계 — 3 min
객체지향 · 설계

전략 패턴

자동차 경주 코드에서 이동 여부를 정하는 랜덤 값 생성을 MoveStrategy 인터페이스로 분리하고, 구현 클래스를 주입받아 바꿔 끼우는 전략 패턴 적용 방법을 정리합니다.

2023.04.22 · 1354ac5 · 객체지향 · 설계 — 3 min
CLEAN CODE · 1/11

2장 의미있는 이름

클린 코드 2장을 읽고 의도를 분명히 드러내는 이름, 그릇된 정보를 피하는 이름, 클래스·메서드 이름, 해법·문제 영역에서 가져온 이름, 의미 있는 맥락을 더하는 방법을 정리합니다.

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

3장 함수

클린 코드 3장을 읽고 함수를 작게 만들어 한 가지만 하게 하는 방법과 추상화 수준, switch 문, 함수 인수, 부수 효과, 명령과 조회 분리, try/catch 블록 분리를 예제와 함께 정리합니다.

2022.04.29 · 5d545b0 · Clean Code — 11 min
인프런 워밍업 클럽 발자국 · 2/4

2주차 발자국

인프런 워밍업 클럽 백엔드 스터디 2기 2주차 Readable Code 강의를 들으며 배운 추상화 레벨과 데이터 중심 설계 개념을 정리합니다.

af4ee5d · 회고 — 5 min
스프링 핵심 원리 · 3/18

AppConfig 리팩터링

중복이 있던 AppConfig를 리팩터링해 역할과 구현이 한눈에 드러나도록 정리하고, 그 과정에서 지켜지는 SOLID 원칙을 살펴봅니다.

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