Skip to content

Commit 4dd2496

Browse files
committed
아이템3031
1 parent 4e60cec commit 4dd2496

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
- 작은 인터페이스는 배우기 쉽고 유지하기 쉽다.
2+
- 기능이 많은거보다 적은게 당연히 쉽다
3+
- 유지보수 쉽다
4+
- 변경을 할때는 기존의 것을 숨기는 것보다 새로운 것을 노출하는 것이 쉽다
5+
- 기존 것들은 이미 사용되는 공개 API라 변경하게되면 모든 부분에 영향
6+
- 클래스 프로퍼티는 외부에서 변경 가능하면 안된다.
7+
- 불변성을 보장할 수 없게 된다
8+
- 가시성 한정자를 잘 활용하자
9+
- public : 어디에서든 볼 수 있음
10+
- private : 클래스 외부에서는 볼 수 없음
11+
- protected : 해당 클래스와 하위 클래스에서만 볼 수 있음
12+
- internal : 같은 모듈 내부에서만 볼 수 있음
13+
- Data class에서는 private을 사용하지 않아도 된다.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
- KDocs를 잘 활용하자
2+
- 규약이 정의되어있으면 만든 사람은 이게 어떻게 사용될 지 걱정하지 않아도 된다.
3+
- 활용하는 사람은 내부가 어떻게 구현됐는지 걱정하지 않아도 된다.
4+
- 주석은 써야 하는가
5+
- 이름으로 확실히 행위를 나타낼 수 있으면 안써도 된다.
6+
- 주석을 과하게 다는 것은 코드를 산만하게 나타내는 노이즈이다
7+
- 주석다는거보다 함수로 추출하는 것이 훨씬 좋다
8+
- 베이스타입을 서브타입으로 대체할 수 있어야 한다

docs/EffectiveKotlin/재성/Chapter04_추상화_설계/item32_추상화_규약을_지켜라.md

Whitespace-only changes.

0 commit comments

Comments
 (0)