Recent Posts
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
- PersistenceContext
- pytest
- JanusGateway
- kotlin
- table not found
- Spring Batch
- 티스토리챌린지
- 겨울 부산
- tolerated
- PytestPluginManager
- JanusWebRTC
- VARCHAR (1)
- vfr video
- 깡돼후
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- python
- JanusWebRTCServer
- mp4fpsmod
- preemption #
- JanusWebRTCGateway
- 오블완
- Value too long for column
- 자원부족
- 개성국밥
- 달인막창
- taint
- 코루틴 빌더
- terminal
- addhooks
- 코루틴 컨텍스트
Archives
너와 나의 스토리
[Clean Code 클린 코드]를 읽고 - "의미있는 이름"편 본문
반응형
Clean code 책을 읽으면서 기억하고자 하는 부분들을 정리하려고 한다.
이 책은 읽을때마다 새로운 지식이 보인다고 한다. 이 책을 다음에 다시 읽으면서 새롭게 얻게 되는 지식들을 이 글에 계속해서 추가해나가려 한다.
의도가 드러나는 이름을 사용하자
- 지뢰 찾기 게임판에서 깃발이 꽂힌 상태를 저장할 변수를 선언한다고 하자.
List<int []> list1 = new ArrayList<int[]>();
- 다음과 같은 변수명 대신
List<int []> flaggedCells = new ArrayList<int[]>();
- flaggedCells와 같이 의도가 드러나는 이름을 사용하자.
- 그렇다면, flaggedCellList로 표시하면 컨테이너 유형도 예측할 수 있어서 좋은 거 아닌가?
- Nope! 컨테이너 유형을 이름에 넣지 않는 편이 바람직하다. -> 나중에 이유 나옴
- 또한, 실제 List를 사용하지 않을 때, flaggedCellList와 같이 명명하게 되면, 프로그래머에게 그릇된 정보를 제공하게 됨으로 피해야 한다.
- flaggedCellGroup이나, flaggedCells처럼 명명하는 것이 더 좋다.
검색하기 쉬운 이름을 사용하라
- 짧은 이름보다 긴 이름이 좋다.
- 예를 들어, 변수명을 e로 정했다고 하자. e는 영어에서 가장 많이 쓰이는 문자로, 해당 변수를 검색해서 찾기 굉장히 어려울 것이다.
- 마찬가지로 상수를 사용할 때, 상수 그 자체로 사용하게 되면, 찾기 힘들 것이다. 상수에 명확한 이름을 부여하여 변수로써 사용하자.
클래스 이름
- 클래스 이름과 객체 이름은 명사나 명사구를 사용하자
- 좋은 예: Customer, Account
- 나쁜 예: Manager, Processor, Data, Info
메서드 이름
- 동사나 동사구를 사용하자
- 좋은 예: postPayment, deletePage, save
- 접근자(Accessor) -> get
- 변경자(Mutator) -> set
- 조건자(Predicate) -> is
- Predicate: 논리에서 true/false를 판단&리턴해주는 함수
반응형
'개발' 카테고리의 다른 글
jdk version 모두 확인 및 변경(default Java) (0) | 2021.02.04 |
---|---|
[VSCode] Terminal - git bash로 설정하는 방법 (0) | 2020.12.29 |
[MySQL] SyntaxError: Unexpected identifier (1) | 2020.10.31 |
Django 시작하기! (0) | 2020.10.31 |
REST API (0) | 2020.08.22 |
Comments