Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL - Assignment#3( ~ 2장.의미있는 이름)
#clean_code
2년 전
890
1

오늘 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)

1 comment