Notice
Recent Posts
Recent Comments
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 | 29 | 30 |
Tags
- Clean Code
- ios
- Xcode
- RxCocoa
- tableView
- swift documentation
- collectionview
- uiscrollview
- Refactoring
- UICollectionView
- MVVM
- uitableview
- SWIFT
- UITextView
- 리펙터링
- Human interface guide
- swiftUI
- HIG
- clean architecture
- Observable
- map
- 클린 코드
- ribs
- 리팩토링
- 스위프트
- Protocol
- 리펙토링
- combine
- 애니메이션
- rxswift
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[Refactoring] 3-1. 코드에서 나는 악취 본문
코드에서 나는 악취
- 리팩터링을 언제 하는게 좋은지?
- 켄트 벡에 의하면 리팩터링할 시점은 '냄새'란 표현을 사용
- 오히려 인스턴스 변수가 몇 개가 적당한지, 메섣가 몇 줄을 안넘어가면 좋은지보다는, 사람의 직관이 더욱 정확하다는 의미
- `냄새`에 대한 감각을 키우려면, 앞으로 나오는 리팩터링 내용들을 숙지하고 직접 코드로 표현해보며 사용
기이한 이름
- 코드를 명료하게 표현하는 데 가장 중요한 요소는 `이름`이므로 함수, 모듈, 변수, 클래스등은 그 이름만 보고도 각각이 무슨 일을 하고 어떻게 사용하는지 명확히 알 수 있도록 엄청나게 신경써서 이름을 지어야 함
- 이름만 잘 지어도 나중에 문맥을 파악하느라 헤메는 시간을 크게 절약 가능
- ex) 함수 이름 바꾸기, 변수 이름 바꾸기
긴 함수
- 경험에 비춰보면 오랜 기간 잘 활용되는 프로그램들은 하나같이 짧은 함수로 표현
- 짧은 함수들로 구성된 코드베이스를 얼핏 훑으면 연산하는 부분이 하나도 없어 보이는 형태
- 코드가 끝없이 위임하는 방식으로 작성
- 코드를 읽는 사람 입장에서는 함수가 하는 일을 파악하기 위해 왔다 갔다 하므로 부담이 되지만, 이를 보완해주는 방법은 함수의 이름만 보더라도 어떤 일을 하는지 알수 있도록 이름을 잘 짓는것
- 함수의 이름만 보더라도 어떤일을 하는지 알아낼 수 있어야 하므로, 함수 추출하기를 통해 잘게 쪼개는 리팩터링이 필요
- 리팩터링 방법 - 주석을 달아야 할 만한 부분이나 주석이 있는 곳에 무조건 함수로 만들어서 함수를 추출할 것
* 다음 글 - [Refactoring] 3-2. 코드에서 나는 악취
* 참고
- Refactoring (Marting Flowler)
'Refactoring (리펙토링)' 카테고리의 다른 글
[Refactoring] 4. 테스트 구축하기 (테스트 코드가 중요한 이유) (0) | 2023.01.19 |
---|---|
[Refactoring] 3-2. 코드에서 나는 악취 (중복 코드, 긴 함수, 긴 매개변수, 전역 데이터, 가변 데이터, switch 문, 반복문, default value) (0) | 2023.01.15 |
[Refactoring] 2-2. 리팩터링 원칙, 리펙터링의 목적 (3) | 2022.01.21 |
[Refactoring] 2-1. 리팩터링 원칙, 리펙터링의 목적 (0) | 2022.01.20 |
[Refactoring] 1-2. 리펙토링이란?, 리펙토링의 예시 (0) | 2022.01.03 |
Comments