개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.02.20
오늘 읽은 범위
2장. 의미있는 이름
책에서 기억하고 싶은 내용을 써보세요.
의도가 분명하게 이름을 지어라 (p.22)
의미 있게 구분하라 (p.25)
발음하기 쉬운 이름을 사용하라 (p.27)
검색하기 쉬운 이름을 사용하라 (p.28)
자신의 기억력을 자랑하지 마라. 문자 하나만 사용한 변수 이름은 문제가 있다. (p.31)
똑똑한 프로그래머와 전문가 프로그래머 사이에서 나타나는 차이점 하나만 들자면, 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다. 전문가 프로그래머는 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내놓는다.(p.31)
클래스 이름과 객체 이름은 명사나 명사구가 적합하다. 동사는 사용하지 않는다 (p.32)
메서드 이름은 동사나 동사구가 적합하다 (p.32)
기발한 이름은 피하라. 재미난 이름보다 명료한 이름을 선택하라. (p.32)
한 개념에 한 단어를 사용하라. (p.33)
메서드 이름은 독자적이고 일관적이어야 한다. (p.33)
집중적인 탐구가 필요한 코드가 아니라 대충 훑어봐도 이해할 코드 작성이 목표다. 의미를 해독할 책임이 독자에게 있는 논문 모델이 아니라 의도를 밝힐 책임이 저자에게 있는 잡지모델이 바람직하다. (p.34)
불필요한 맥락을 없애라. 일반적으로는 짧은 이름이 긴 이름보다 좋다. 의미가 분명한 경우에 한해서다. 이름에 불필요한 맥락을 추가하지 않도록 주의한다 (p.37)
우리는 문장이나 문단처럼 읽히는 코드 아니면 적어도 표나 자료구조처럼 읽히는 코드를 짜는데만 집중해야 마땅하다. (p.38)
다른사람이 짠 코드를 손본다면 리팩터링 도구를 사용해 문제 해결 목적으로 이름을 개선하라.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
기본적인 내용으로 기초가 다져진 것 같아서 뿌듯하고, 실무에서 클래스, 메서드 이름을 보고 한번에 파악하기 어려운 코드가 있었던 반면에, 이름만 보고도 어떤 기능을 하는지 한눈에 보였던 코드도 있었던 경험이 떠올랐다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
리팩터링 이라는 단어를 요즘 많이 접하는데, 클린코드를 완독하면 리팩터링 관련된 서적을 볼 생각이다. 개발자의 세계란... 해도해도 끝이없는 이곳..^^