오늘 내가 한 일 - TIL

노개북 클린코드(clean code) 2022.02.20

바구레 2022. 2. 20. 23:55

오늘 읽은 범위

2장 의미 있는 이름

 

책에서 기억하고 싶은 내용을 써보세요.

  • 변수나 함수, 클래스의 이름은 다음과 같은 굵직한 질문에 모두 답해야한다. 존재 이유는? 수행 기능은? 사용 방법은?
  • 의도를 분명히 밝혀라
  • 그릇된 정보를 피하라 - 그릇된 단서는 코드 의미를 흐린다.
  • 의미 있게 구분하라 - 읽는 사람이 차이를 알도록 이름을 지어라
  • 발음하기 쉬운 이름을 사용하라
  • 검색하기 쉬운 이름을 사용하라
  • 인코딩을 피하라
  • 자신의 기억력을 자랑하지 마라 - 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다. 그들은 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내놓는다.
  • 클래스 이름 - 클래스 이름과 객체 이름은 명사나 명사구가 적합하다. 동사는 사용하지 않는다.
  • 메서드 이름 - 메서드 이름은 동사나 동사구가 적합하다. 접근자, 변경자, 조건자는 표준에 따라 값 앞에 get, set, is 를 붙인다. 
  • 기발한 이름은 피하라 - 의도를 분명하고 솔직하게 표현하라
  • 한 개념에 한 단어를 사용하라
  • 말장난을 하지 마라 - 프로그래머는 코드를 최대한 이해하기 쉽게 짜야 한다.
  • 해법 영역에서 가져온 이름을 사용하라
  • 문제 영역에서 가져온 이름을 사용하라
  • 의미 있는 맥락을 추가하라
  • 불필요한 맥락을 없애라

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

회사에서 일을 하면서 가장 어려운 점이 클래스명과 함수 이름을 만드는 것이었다. 그동안은 내부 규칙을 기본으로 영어 사전을 찾아 단순 명사의 나열로 이름을 작성했는데, 역할과 목적에 따라서도 이름을 다르게 지어야한다는 것을 알게 되었다. 코드를 읽기만 해도 코드의 동작과 목적이 그려지는 이름을 짓도록 고민해야할 것 같다. 

 

누군가 사용했던 의미없는 이름들이 의미가 있는지, 목적이 명확하게 보이는가에 대한 고민 없이 관성적으로 사용하고 있지는 않았는지 되돌아 보게 되었다. 이미 사용한 이름이니까 괜찮겠지, 누군가 작성했던 것이니까 그냥 써도 되겠지가 아니라 명확한 이름으로 개선을 하고 개선의 이유를 동료들에게 자신있게 설명할 수 있도록 해야겠다. 

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 불용어 stopword : 데이터 셋에 자주 등장하지만 분석에 큰 의미를 갖지 않는 단어. 불용어가 다수 포함되어 있을수록 효율 감소, 처리시간 증가 등의 악영향이 발생한다.

 


 

불용어 의미 참고블로그 : https://leo-bb.tistory.com/5