일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- rust
- function
- Python
- 알고리즘
- AWS
- IMAGE
- Thread
- 전문가를 위한 파이썬
- Network
- Kubernetes
- 이더리움
- 백준
- 파이썬
- Ethereum
- BlockChain
- Algorithm
- RabbitMQ
- 블록체인
- 코어 이더리움 프로그래밍
- 동시성
- guru
- docker
- 플랫폼
- fluent python
- Refactoring
- dockerfile
- 러스트
- BAEKJOON
- Fast API
- Container
Archives
- Today
- Total
글쓰기 | 방명록 | 관리 |
Victoree's Blog
[What is Refactoring] How to refactor 본문
728x90
이 페이지는 GURU 사이트 [what-is-refactoring] How to refactor의 번역을 담고 있습니다.
리팩토링 하는 방법
리팩토링은 일련의 작은 변경으로 수행되어야 하며, 각 변경으로 기존 코드가 약간 개선되고 프로그램은 여전히 작동중인 상태로 유지되어야 합니다.
올바르게 리팩토링되기 위한 체크리스트
1. 코드가 깨끗해져야 합니다.
- 리팩터링 후에도 코드가 똑같이 더러운 상태로 남아 있으면... 미안하지만, 당신은 인생의 한 시간을 낭비했습니다. 왜 이렇게 되었는지 알아내려 노력해보세요.
- 작은 변화들로 리팩터링을 하는 것에서 벗어나 많은 리팩터링을 하나의 큰 변화로 혼합할 때 이런 일이 종종 발생합니다. 이럴 때 정신을 잃기 쉬운데, 특히 시간 제한이 있다면 더욱 그렇습니다.
- 또 매우 엉성한 코드로 작업할 때에도 발생할 수 있습니다. 무엇을 개선하든 이런 코드는 전체적으로 재앙으로 남습니다.
- 이 경우 코드의 일부를 완전히 다시 작성하는 것에 대해 생각해 볼 가치가 있습니다. 그 전에 여러분은 많은 시간을 할애해야 하는데, 그렇지 않다면 처음 말한 결과를 얻게될 수 있습니다.
2. 리팩토링 중에는 새로운 기능을 작성하면 안됩니다.
- 새로운 기능을 구현하는 것과 리팩토링을 혼동하지 마세요. 적어도 개별 커밋의 범위내에서 이런 프로세스를 분리하려고 하셔야 합니다.
- 기능을 추가할 때는 기능추가 모자를 쓴다음 기존 코드는 절대 건드리지 않고, 기능만 추가하셔야 합니다.
- 리팩토링할 때는, 리팩토링 모자를 쓴다음 기능 추가는 절대 하지 않고 오로지 코드 재구성에만 전념하셔야 합니다.
3. 기존의 모든 테스트는 리팩토링 후에 통과되어야 합니다.
- 리팩토링 후 테스트가 중단되는 경우는 두 가지 입니다.
- 리팩토링하는 동안 오류가 발생했습니다
- 이 문제는 문제 없습니다. 계속하여 오류를 수정하세요.
- 테스트가 너무 낮은 수준이었습니다.
- 이 경우, 테스트가 문제입니다. 검증 자체를 리팩토링하거나 완전히 새로운 상위 수준 검증 집합을 작성할 수 있습니다. 이런 상황을 피하는 가장 좋은 방법은 BDD 방식의 테스트를 작성하는 것입니다.
728x90
'Pattern > GURU' 카테고리의 다른 글
[What is Refactoring] When to Refactor (0) | 2021.05.11 |
---|---|
[What is Refactoring] Technical Debt (0) | 2021.05.11 |
[What is Refactoring] Clean Code (0) | 2021.05.11 |
Comments