-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
60 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
title: 구름 Commit - 클린코드 | ||
tags: | ||
- 클린코드 | ||
--- | ||
|
||
## 클린 코드 다시보기 | ||
2023.11.22 | ||
|
||
### 클린코드 논란 | ||
- 클린 코드를 추구하면 주석 작성 X? | ||
- 코드가 클린하면 리팩토링 필요가 없지않나? | ||
- 테코가 없어도 되지않냐? | ||
- 클코로는 일정을 지킬 수 없다? | ||
- 클코 원칙에 위배되어 리뷰 불가하다? | ||
|
||
#### 단점 | ||
- 오버엔지니어링을 하려한다 | ||
- 레거시 코드 무시 | ||
- 주석 경멸 | ||
- 패턴 남용 | ||
- 엄격한 규칙 준수 | ||
- 짧은 함수와 클래스에 대한 지나친 강조 | ||
- 완벽주의 | ||
- SOLID 원칙 오용 | ||
|
||
|
||
### 클린코드 구성 | ||
1. 원칙.패턴.연습 | ||
2. 사례연구 | ||
3. 휴리스틱 - 학습된 감각에 기반하여 판단 | ||
|
||
### OOP를 바라보는 관점 | ||
- 명사 중심 | ||
- 데이터를 중심으로 함수 캡슐화 | ||
- OOAD와 자료구조로써의 객체 관점 | ||
- -er로 끝나는 이름 금기 | ||
- 동사 중심 | ||
- 객체를 컴퓨터로 보는 관점 | ||
- 메시징과 객체간 협력 강조 | ||
|
||
- 객체 중심 | ||
- 큰 객체/ 세부는 타 프로그래밍 스타일 사용 | ||
- 대부분 주요 OOP 언어 | ||
- 객체 보조 | ||
- 자료구조 또는 추상 자료형 관점 객체 활용 | ||
|
||
|
||
### 전통적인 데이터와 데이터 변환 분리 방식 | ||
- OOP의 한계 : 비지터 패턴 | ||
- OO의 데이터-행위 캡슐화 반대 | ||
- DOP 제안 - 자바 아키텍트 브라이언 게츠 | ||
- 단순한 일은 단순하게! | ||
|
||
|
||
### 기회주의 리팩토링 | ||
- 시간 날때마다 틈마다 리팩토링해라..? | ||
|
||
|
||
|