기본형 집착 애플리케이션이 다루고 있는 도메인에 필요한 기본 타입을 만들지 않고 프로그래밍 언어가 제공하는 기본 타입을 사용하는 경우가 많다. 예) 전화번호, 좌표, 돈, 범위, 수량 등 기본형으로는 단위 (인치 vs 미터) 또는 표기법을 표현하기 어렵다. 이완 관련된 리팩토링 기술은 3종류가 있다. 기본형을 객체로 바꾸기 (Replace Primitive with Object) 타입 코드를 서브클래스로 바꾸기 (Replace Type Code with Subclasses) 조건부 로직을 다형성으로 바꾸기 (Replace Conditional with Polymorphism) “클래스 추출하기 (Extract Class)” “매개변수 객체 만들기 (Introduce Parameter Object)” 기본..
산탄총 수술 어떤 한 변경 사항이 생겼을 때 여러 모듈을 (여러 함수 또는 여러 클래스를) 수정해야 하는 상황. 뒤엉킨 변경 냄새와 유사하지만 반대의 상황이다. 예) 새로운 결제 방식을 도입하려면 여러 클래스의 코드를 수정해야 한다. 변경 사항이 여러곳에 흩어진다면 찾아서 고치기도 어렵고 중요한 변경 사항을 놓칠 수 있는 가능성도 생긴다. 이와 관련된 리팩토링 기술은 3종류가 있다. “함수 옮기기 (Move Function)” 또는 필드 옮기기 (Move Field)를 사용해서 필요한 변경 내역을 하나의 클래스로 모을 수 있다, 비슷한 데이터를 사용하는 여러 함수가 있다면 여러 함수를 클래스로 묶기 (Combine Functions into Class)를 사용할 수 있다. "단계 쪼개기 (Split Ph..
이해하기 힘든 이름 깔끔한 코드에서 가장 중요한 것 중 하나는 “좋은 이름”이다. 함수, 변수, 클래스, 모듈의 이름 등 모두 어떤 역할을 하며 어떻게 쓰이는지 직관적이어야 한다. 이에 해당하는 리팩토링 기술은 3종류가 있다. 함수 선언 변경하기 변수 이름 바꾸기 필드 이름 바꾸기 함수 선언 변경하기 좋은 이름을 가진 함수는 함수가 어떻게 구현되었는지 코드를 보지 않아도 이름만으로 이해할 수 있다. 좋은 이름을 찾아내기 위해서 함수에 주석을 작성한 다음, 주석을 함수 이름으로 만들어보자. 함수의 매개변수는 ? 함수 내부의 문맥을 결정한다. 의존성을 결정한다. 변수 이름 바꾸기 많이 사용되는 변수일수록 이름이 더 중요해진다. 다이나믹 타입을 지원하는 언어에서는 타입을 이름에 넣기도 한다. 여러 함수에 걸쳐..
- Total
- Today
- Yesterday
- 코틀린
- Algorithm
- mysql 8.0
- 그리디
- 스프링
- 데이터베이스
- 스프링부트
- 김영한
- 문자열
- leetcode
- 인프런
- 노마드
- 정렬
- 백준
- kotlin
- 북클럽
- webflux
- 자료구조
- Spring
- 릿코드
- 리팩토링
- 스프링 부트
- 코테
- 파이썬
- Real MySQL
- 구현
- MySQL
- 노마드코더
- spring boot
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |