개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
단순히 이름만 고쳤는데도 함수가 하는 일을 이해하기 쉬워졌다. 바로 이것이 좋은 이름이 주는 위력이다.(p.24)
이름을 의미있게 지으면 함수가 길어진다. 하지만 찾기가 얼마나 쉬운지 생각해보라.(p.29)
전문가 프로그래머는 명료함이 최고라는 사실을 이해하고, 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내놓는다.(p.31)
TIL (Today I Learned) 날짜
2022.04.24.SUN
오늘 읽은 범위
2장.의미있는 이름
책에서 기억하고 싶은 내용을 써보세요.
프로그래머는 코드에 그릇된 단서를 남겨서는 안 된다
. 그릇된 단서는 코드 의미를 흐린다.(p.24)
널리 쓰이는 의미가 있는 단어를 다른 의미로 사용해도 안 된다.(p.24)
일관성이 떨어지는 표기법은 그릇된 정보다.(p.25)
컴파일러나 인터프리터만 통과하려는 생각으로 코드를 구현하는 프로그래머는 스스로 문제를 일으킨다.(p.25)
불용어를 추가한 이름은 아무런 정보를 제공하지 못한다.(p.26)
불용어는 중복이다.(p.26)
읽는 사람이 차이를 알도록 이름을 지어라.(p.27)
발음하기 쉬운 이름을 선택한다.-> 프로그래밍은 사회활동이기 때문이다.(p.27)
검색하기 쉬운 이름을 사용하라.(p.28)
접두어는 (잘해봤자) 주의를 흐트리고 (나쁘게는) 과도한 정보를 제공한다.(p.31)
클래스 이름 - 명사나 명사구가 적합하다. Manager, Processor, Data, Info 등과 같은 단어는 피하고, 동사는 사용하지 않는다.(p.32)
메서드 이름 - 동사나 동사구가 적합하다. 접근자, 변경자, 조건자는 javabean표준에 따라 값 앞에 get, set, is를 붙인다. 생성를 중복정의 할 때는 정적 팩토리 메서드를 사용한다.(p.32)
의도가 분명하고 솔직하게 표현하라.(p.33)
한 개념에 한 단어를 사용하라. 메서드 이름은 독자적이고 일관적이어야 한다.(p.33)
한 단어를 두 가지 목적으로 사용하지마라. ex) 새 메서드는 기존 add메서드와 맥락이 다르다.( 기존 메서드 - 두 개를 더하거나 새로운 값을 만듦, 새 메서드 - 집합에 값 하나를 추가). 그러므로 insert나 append라는 이름이 적당하다.
집중적인 탐구가 필요한 코드가 아니라 대충 훑어봐도 이해할 코드 작성이 목표다.(p.34)
다른 사람이 짠 코드를 손본다면 리팩터링 도구를 사용해 문제 해결 목적으로 이름을 개선하라. 단기적인 효과는 물론 장기적인 이익도 보장한다.(p.38)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
결국은 접두어는 옛날에 작성한 구닥다리 코드라는 징표가 되버린다.(p.31) 라는 부분에서 나는 접두어로 작성한 코드를 짠 경험이 있기 때문에 아차 싶었다. 구닥다리 코드는 이제 짜지않도록 열심히 연습해야겠다.
그리고 자신의 기억력을 자랑하지 마라(p.31)도 경험이 있어서 그런가 뜨끔했다. 그때에 이 책을 읽었다면 난 오류를 찾기위해 보낸 3일을 아낄수 있었을텐데... 꼭 새겨두자!
일관성 있는 어휘로 코딩하는 프로그래머가 되야지~!
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
불용어(p.26)
이름 길이는 범위 크기에 비례해야 한다.(p.28)
인코딩을 피하라(p.29)
접근자, 변경자, 조건자는 javabean표준에 따라 ~(p.32)
리팩터링 도구(p.38)