클린코드 챌린지 Day 03
오늘 TIL 3줄 요약
- 코드의 맥락을 파악할 수 있는 좋은 이름은 코드를 읽는 사람에게 지름길을 제공할 수 있다. 의도를 숨기지 말자.
- 유사한 개념은 유사한 표기법을 사용하여 정보를 나타낼 수 있다. 일관성이 떨어진다면 그릇된 정보가 된다.
- 자신의 기억력을 자랑하지 마라.
TIL (Today I Learned) 날짜
2022.04.24 - 2022.04.24
오늘 읽은 범위
2장. 의미 있는 이름
의도를 분명히 밝혀라
변수나 함수 그리고 클래스 이름은 존재 이유, 수행 기능, 사용 방법을 고민해 보고 선언해야한다. 주석이 필요하다면 그 의도를 분명히 하지 못한 것이다.
💡 코드의 맥락을 파악할 수 있는 좋은 이름은 코드를 읽는 사람에게 지름길을 제공할 수 있다. 의도를 숨기지 말자.
그릇된 정보를 피하라
그릇된 단서는 코드 의미를 흐린다. 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용해도 안된다!
서로 흡사한 이름을 사용하지 않도록 주의한다. 비슷한 이름을 한 모듈에서 같이 사용한다면 매우 헷갈릴 것이다.
유사한 개념은 유사한 표기법을 사용하여 정보를 나타낼 수 있다. 일관성이 떨어진다면 그릇된 정보가 된다.
자신의 기억력을 자랑하지 마라
전문가 프로그래머는 명료함이 최고라는 사실을 이해한다.
클래스 이름과 객체 이름은 명사나 명사구가 적합하다.
메서드 이름은 동사나 동사구가 적합하다.
문제 영역에서 가져온 이름을 사용하라
적절한 프로그래머 용어가 없다면 문제 영역에서 이름을 가져온다. 문제 영역 개념과 관련이 깊은 코드라면 문제 영역에서 이름을 가져와야 한다.
암기는 요즘 나오는 IDE를 활용하고, 우리는 문장이나 문단처럼 읽히는 코드 아니면 적어도 표나 자료 구조처럼 읽히는 코드를 짜는 데에 집중해야 마땅하다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
일관성 있는 이름을 통해 코드를 읽는 프로그래머에서 효과적으로 정보전달이 가능함을 깨달았다.
명료한 이름을 짓는 꾸준한 연습과 반복적인 수정이 필요할 것 같다..
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
인터페이스 클래스와 구현 클래스에 왜 인코딩이 필요할까.? 이제는 IDE가 색을 구분하지 않을까?