기본형 집착 애플리케이션이 다루고 있는 도메인에 필요한 기본 타입을 만들지 않고 프로그래밍 언어가 제공하는 기본 타입을 사용하는 경우가 많다. 예) 전화번호, 좌표, 돈, 범위, 수량 등 기본형으로는 단위 (인치 vs 미터) 또는 표기법을 표현하기 어렵다. 이완 관련된 리팩토링 기술은 3종류가 있다. 기본형을 객체로 바꾸기 (Replace Primitive with Object) 타입 코드를 서브클래스로 바꾸기 (Replace Type Code with Subclasses) 조건부 로직을 다형성으로 바꾸기 (Replace Conditional with Polymorphism) “클래스 추출하기 (Extract Class)” “매개변수 객체 만들기 (Introduce Parameter Object)” 기본..
긴 함수 짧은 함수 VS 긴 함수 함수가 길수록 이해하기 어려워진다. VS 짧은 함수는 더 많은 문맥전환을 필요로 한다. 과거에는 작은 함수를 사용하는 경우에 더 많은 서브루틴 호출로 인한 오버헤드가 있었다. 작은 함수에 좋은 이름을 사용했다면 해당 함수의 코드를 보지 않고도 이해할 수 있다. 어떤 코드에 주석을 남기고 싶다면, 주석 대신 함수를 만들고 함수의 이름으로 의도를 표현해보자. 이에 해당하는 리팩토링 기술은 7종류가 있다. 문제의 99%는 함수 추출하기(Extract Funtion)로 해결할 수 있다. 함수로 분리하면서 해당 함수로 전달해야 할 매개변수가 많아진다면 다음과 같은 리팩토링을 고려해볼 수 있다. 임시 변수를 질의 함수로 바꾸기 (Replace Temp with Query) 매개변수..
- Total
- Today
- Yesterday
- Spring
- 스프링 부트
- webflux
- 인프런
- MySQL
- Real MySQL
- 백준
- 노마드코더
- Algorithm
- 노마드
- 구현
- 데이터베이스
- 북클럽
- kotlin
- spring boot
- 문자열
- leetcode
- 파이썬
- 그리디
- 정렬
- 코틀린
- 코테
- 알고리즘
- 김영한
- mysql 8.0
- 리팩토링
- 스프링부트
- 릿코드
- 스프링
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |