일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- springboot
- spring
- mysql
- Deep Learning
- 인공신경망
- Dao
- 스프링컨테이너
- JPA
- 임팩트커리어스터디
- 객체지향특징
- 북클럽
- requestbody
- valid
- 클린코드
- 머신러닝
- 딥러닝
- 노마드코더
- 개발서적
- 스프링어노테이션
- 스프링프레임워크
- IntelliJ
- Machine Learing
- 노개북
- 인텔리제이
- 북스터디
- 스프링스터디
- til
- NullCheck
- REST API
- 개발필독서
- Today
- Total
dev.jaieve 공부기록
[노개북] 클린코드 TIL(2022.02.20) 본문
DAY 3
🚀 오늘 읽은 범위 : 2장 의미있는 이름
🔥 책에서 기억하고 싶은 내용
클래스 이름과 객체 이름은 명사나 명사구가 적합하다. ... 메서드 이름은 동사나 동사구가 적합하다(p. 32)
우수한 프로그래머와 설계자라면 해법 영역과 문제 영역을 구분할 줄 알아야한다. 문제 영역 개념과 관련이 깊은 코드라면 문제 영역에서 이름을 가져와야 한다.(p. 35)
일반적으로 짧은 이름이 긴 이름보다 좋다. 단, 의미가 분명한 경우에 한해서다. 이름에 불필요한 맥락을 추가하지 않도록 주의한다.(p. 37)
🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보자!
검색하기 쉬운 이름을 사용하라
변수나 상수를 코드 여러 곳에서 사용한다면 검색하기 쉬운 이름이 바람직하다.(p. 26)
실제로 회사에서 특정 클래스를 수정해야하는 일이 발생하는 경우 전역검색(인텔리제이 : shift + ctrl + F)을 통해 해당 변수가 어디에서 사용되고 있는지 확인하고 그 주변 코드까지 파악한 뒤 내가 찾던 그 변수가 맞는지 확인한다. 전역검색은 상당히 유용한 기능이기 때문에 검색이 쉽도록 Naming하고 혼란을 방지하는 것 또한 중요하다는 것을 이미 실무를 하면서 많이 느끼고 있다.
멤버 변수를 다른 색상으로 표시하거나 눈에 띄게 보여주는 IDE를 사용해야 마땅하다.(p. 30)
다른 색상으로 나타나는 것은 꽤 중요하다. 실제로 클린코드 예제코드를 읽고 있으면 검은색은 글자요, 흰 것은 종이요 라고 하게 되기때문에 IDE에서 예제코드를 확인하고싶다는 생각을 많이 했었다. 첨부한 사진은 개인 노트북에 설치된 인텔리제이 theme이다.
인터페이스 클래스(Abstract)와 구현 클래스(Concrete)
스프링스터디를 최근dp 시작하면서 역할과 구현에 대한 개념을 다시 한번 정립했었는데, 클린코드의 naming 챕터에서 이 단어가 등장해서 반가웠고, 추상화와 구현체에 대한 개념을 머릿속에 확실하게 정리할 수 있었다.
한 개념에 한 단어를 사용하라
마찬가지로, 동일 코드 기반에 controller, manager, driver를 섞어 쓰면 혼란스럽다.(p. 33)
이 부분을 읽으면서도 위와 같은 생각을 했다. 클라이언트 layer의 .java의 접미사로 controller만 있는 줄 알았는데 manager, driver가 쓰이기도 한다는 것을 알 수 있었다. 한 번 더 곰곰히 생각해보니 entity-layer에서도 ~Repository라고 naming하거나 ~Dao 라는 접미사를 사용한다는 것을 깨달을 수 있었다. 1회독할 땐 깨닫지 못했던 내용을 깨닫게 되어서 뿌듯하다.
🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면?
인코딩을 피하라 & 헝가리식 표기법?
유형이나 범위정보까지 인코딩에 넣으면 그만큼 이름을 해독하기 어려워진다.(p. 29)
헝가리안 표기법에 대해 처음 들어봐서 검색해봤다. 컴퓨터 프로그래밍을 할 때, 변수 및 함수의 이름 앞에 데이터 타입을 명시하는 코딩의 규칙이라고 한다. 코드를 찾아보니 바로 이해가 됐다. 왜 굳이 저렇게 naming하게 된 것인지는 잘 모르겠지만, 현재는 여러사람을 거쳐지다보니 본질이 많이 변해서 사용하지 않는다고 한다.
'IT의 이것저것 > 스터디' 카테고리의 다른 글
[노개북] 클린코드 TIL(2022.03.01) (0) | 2022.03.01 |
---|---|
[노개북] 클린코드 TIL(2022.02.28) (0) | 2022.02.28 |
[노개북] 클린코드 TIL(2022.02.22-23) (0) | 2022.02.23 |
[노개북] 클린코드 TIL(2022.02.21) (0) | 2022.02.22 |
[노개북] 클린코드 TIL(2022.02.19) (0) | 2022.02.19 |