Community

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

← Go back
2장. 의미 있는 이름
#clean_code
2년 전
909
1


TIL (Today I Learned)

2022.02.21

오늘 읽은 범위

2장. 의미 있는 이름

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

  • 일반적으로 짧은 이름이 긴 이름보다 좋다. 단, 의미가 분명한 경우에 한해서다. 이름에 불필요한 맥락을 추가하지 않도록 주의한다. // p.37

  • 우수한 프로그래머와 설계자라면 해법 영역과 문제 영역을 구분할 줄 알아야 한다. //p.35

    ...하고자 하는 말이 무엇일까 혼자 이해해 보았다. 즉, 무엇인가를 설명할 때 그것을 가장 잘 표현해줄 수 있는 단어를 쓰는 것이 맞다. 예를 들어 코사인 값의 역을 도출하는 함수가 있다고 할 때, 그 함수의 이름은 convertToReverseCos 일 수 있겠지만, 이것보다는 코사인의 역함수는 아크코사인이니까 convertToArcCos 으로 바꾸는게 제일 낫다.

  • 한 개념에 한 단어를 사용하라...한 단어를 두가지 목적으로 사용하지 마라. // p33~p34

이것도 이해해 보자면, fetch retrive get처럼 값을 받아온다는 의미를 지닌 여러 단어를 무지성으로 써버린다면 다른 사람이 보기에 이를 각각 다른 기능을 가진 것으로 오해할 수 있다는 것이다. 그러니 같은 개념이면 한 단어를 써라. 아무리 다른 클래스에 있는 메서드라도 같은 기능을 수행한다면 그 메서드의 이름은 중복되어도 좋으니 한 단어를 사용하라.

엥? 근데 한 단어를 두가지 목적으로 사용하지 말라고? 다른 클래스에 메서드가 같은 이름이면 두가지 목적 아니냐고? 아니다. 예를 들어 인자를 하나 가지고 그 인자에 다른 값을 더하는, 일반적인 a+b의 형태라면 메소드의 이름은 같아도 된다. 근데 하나는 stack 후입이고 하나는 queue로 선입인 리스트 추가 메소드가 있다면 감히 이것을 append라고 칭해야 할까? 엄연히 다른 기능이다!

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

  • 오늘은 약속이 있어서 새벽에 호다닥 읽어서 쓴다. 뭔가 마음이 불편하다. 최대한 일어난 후 아침~낮에 읽어서 여유롭게 읽어야 겠다.

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

  • 끽해봤자 자바스크립트밖에 배우지 못해 자바로 쓰인 코드를 대강 느낌으로 이해하고 있는게 조금 힘들다. public이면 전역변수 private이면 지역변수일련가 ...이런 느낌으로

1 comment