Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코루틴 컨텍스트
- JanusWebRTC
- taint
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 코루틴 빌더
- k8s #kubernetes #쿠버네티스
- terminal
- 개성국밥
- table not found
- VARCHAR (1)
- 티스토리챌린지
- JanusWebRTCServer
- vfr video
- PersistenceContext
- JanusGateway
- mp4fpsmod
- 깡돼후
- preemption #
- PytestPluginManager
- 겨울 부산
- 달인막창
- 자원부족
- Value too long for column
- kotlin
- pytest
- Spring Batch
- python
- tolerated
- JanusWebRTCGateway
- 오블완
Archives
너와 나의 스토리
[리팩토링] Substitute Algorithm 알고리즘 교체하기 본문
반응형
배경
- 적용된 알고리즘보다 간명한 방법을 찾아내면 기존 코드를 고친다.
- 알고리즘 전체를 걷어내고 훨씬 간결한 알고리즘으로 바꿔야 할 때가 있다.
- 문제를 더 확실히 이해하고 훨씬 쉽게 해결하는 방법을 발견했을 때
- 내 코드와 똑같은 기능을 제공하는 라이브러리를 찾았을 때
- 이 작업에 착수하려면 반드시 메서드를 가능한 한 잘게 나눴는지 확인해야 한다.
절차
- 교체할 코드를 함수 하나에 모은다.
- 이 함수만을 이용해 동작을 검증하는 테스트를 마련한다.
- 대체할 알고리즘을 준비한다.
- 정적 검사를 수행한다.
- 기존 알고리즘과 새 알고리즘의 결과를 비교하는 테스트를 수행한다.
- 두 결과가 같다면 리팩터링이 끝난다.
- 그렇지 않으면 기존 알고리즘을 참고해서 새 알고리즘을 테스트하고 디버깅한다.
출처:
- [리팩터링 2판]
반응형
'개발 > Refactoring' 카테고리의 다른 글
[리팩토링] Replace Inline Code with Function Call 인라인 코드를 함수 호출로 바꾸기 (0) | 2021.11.20 |
---|---|
[리팩터링] Move Field 필드 옮기기 (0) | 2021.11.20 |
[리팩토링] Extract Class 클래스 추출하기 (0) | 2021.11.01 |
[리팩토링] Replace Primitive with Object 기본형을 객체로 바꾸기(데이터 항목 -> 객체) (0) | 2021.10.26 |
[리팩토링] Combine Functions into Transform 여러 함수를 변환 함수로 묶기 (0) | 2021.10.19 |
Comments