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 | 31 |
Tags
- HIG
- Clean Code
- ios
- Refactoring
- MVVM
- 스위프트
- Xcode
- RxCocoa
- Human interface guide
- collectionview
- tableView
- Observable
- clean architecture
- combine
- 애니메이션
- swiftUI
- ribs
- UICollectionView
- rxswift
- swift documentation
- map
- UITextView
- 리팩토링
- 리펙토링
- 리펙터링
- uiscrollview
- Protocol
- 클린 코드
- SWIFT
- uitableview
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] Clean Code(클린 코드) - 1. 클린 코드의 개념 본문
론 제프리스(Ron Jeffries)의 클린 코드 정의
- 중복 줄이기
- 표현 높이기(네이밍)
- 초반부터 추상화 고려(DIP) - 지금은 간단하게 재빨리 구현했다가 나중에 구현체만 변경 가능, 추상화하면 `진짜`문제에 신경 쓸 여유가 생기는 효과
C++ 창시자, Bjarne Stroustrup의 클린 코드 정의
- 버그를 줄이기 위해서 논리가 간단한 코드
- 유지보수를 쉽게하기 위하여 의존성을 줄인 코드
- 나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려지기 때문에, 클린 코드는 한 가지에 `집중`한 코드
- 나쁜 코드는 `유혹`을 하여, 나쁜 코드를 고칠 때 또다른 나쁜 코드를 생성할 확률이 높아지므로 애초부터 아무리 바쁜 상황이라도 나쁜 코드를 지양하는 습관이 필요
나쁜 코드가 생기면 안되는 이유
- 나쁜 코드는 개발 속도를 떨어뜨리는 단점이 존재
- 코드를 고칠때마다 엉뚱한 곳에서 문제 발생
- 팀 생산성 하락 > 프로젝트에 인력 추가 > 새 인력은 프로젝트 생산성을 높여야한다는 압박감에 나쁜 코드를 더욱 많이 양상
나쁜 코드를 방지하는 방법
- 프로젝트 실패에 큰 책임을 가지고 좋은 코드를 책임지는 사람이 자기 자신이라고 생각하고 기획자, 마케터의 요구사항들에서 좋은 코드를 사수하는 일
- 보통 기한을 맞추기위해 빠르게 개발하여 나쁜 코드를 양상할 수 없다고 하지만, 빨리가는 유일한 방법은 언제나 코드를 최대한 깨끗하게 유지하는 습관이 중요
클린 코드를 작성하는 방법
- `코드 감각`
- 나쁜 모듈을 보고 나쁘다고만 판단만하는게 아닌, 좋은 모듈로 개선할 방안까지 떠올리는 것
- 그림을 그리는 감각과 동일 - 그림을 보면 대부분이 잘 그렸는지, 엉망으로 그렸는지 알지만 직접 그리는 것에서는 잘 그릴수 없는 경우가 존재
* 참고
- Clean Code (로버트 C. 마틴)
'Clean Code (클린 코드)' 카테고리의 다른 글
[iOS - swift] Clean Code(클린 코드) - 5. 객체와 자료 구조 (객체지향, 절차지향 장단점) (0) | 2021.11.17 |
---|---|
[iOS - swift] Clean Code(클린 코드) - 4. 주석 (0) | 2021.11.14 |
[iOS - swift] Clean Code(클린 코드) - 3. 함수 (2) (0) | 2021.11.13 |
[iOS - swift] Clean Code(클린 코드) - 3. 함수 (1) (0) | 2021.11.11 |
[iOS - swift] Clean Code(클린 코드) - 2. 의미 있는 이름 (0) | 2021.11.10 |
Comments