본문 바로가기

보유/책

클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 3일

TIL (Today I Learned)

2025.05.25

 

오늘 읽은 범위

2장(의미 있는 이름)

 

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

*"의도가 분명하게 이름(변수, 함수, 클래스..)을 지어라"

존재 이유, 수행 기능, 사용 방법등이 이름만으로 파악하게 해야 한다.

 

*그릇된 정보를 피하라

accountList : 실제 List가 아니라면  Accounts가 좋다.

 

*의미 있게 구분하라

ProductInfo, ProductData : 의미의 구분없이 이름만 다르다.

 

*발음하기 쉬운 이름을 사용하라

프로그래밍은 사회 활동이다.

 

*검색하기 쉬운 이름을 사용하라

MAX_CLASSES_PER_STUDENT는 grep로 찾기 쉽지만 한 문자 변수는 찾기 어렵다.

 

*인코딩을 피하라

변수 이름에 타입을 인코딩할 필요는 없다. ( IDE가 컴파일하지 않고도 타입 오류 감지해줄 정도로 발전 )

 

*자신의 기억력을 자랑하지 마라

남들이 이해하는 코드를 작성하다

 

*클래스이름 : 명사, 명사구가 적합

*메서드이름: 동사, 동사구가 적합

 

*기발한 이름은 피하라

 

*한 개념에 한 단어를 사용하라

manager, controller, driver : 동일 코드기반에 섞어쓰인다면 혼란

 

*말장난을 하지마라

 

*해법 영역에서 가져온 이름을 사용하라

코드를 보는 사람도 프로그래머이므로 프로그래머가 이해하기 쉬운( 해법 영역) 명명으로 좋다.

 

*문제 영역에서 가져온 이름을 사용하라

적절한 프로그래머 용어가 없다면 문제 영역에서 이름을 가져온다.

 

*불필요한 맥락을 없애라

 

 

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

소스 분석 하면서 변수의 흐름을 따라가다가 놓치게되었던 가장 큰 이유가 의도가 명확하지 않은 변수명 때문이었던 것을 떠올립니다.

이름과는 다른 내용이지만 샘플소스중 긴 함수를 클래스와 메서드로 변환해서 명확하게 하는 부분이 인상적이었습니다.

 

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

 

 

세줄 요약

*의도가 명확한 명명

*남을 배려하는 명명, 코드

*해법 영역, 문제 영역을 구분한 명명

 

 

과제2: 이 책 왜 읽으시나요?

반응형