2022-01-27 독서 일지
의미있는 이름
- 의도를 분명히 밝혀라
- 그릇된 정보를 피하라
- 의미있게 구분하라
- 발음하기 쉬운 이름을 사용하라
- 검색하기 쉬운 이름을 사용하라
- 인코딩을 피하라
- 기억력을 자랑하지 마라
- 클래스는 명사나 명사구를 사용하라
- 메소드는 동사나 동사구를 사용하라
- 기발한 이름은 피하라
- 한 개념에 한 단어를 사용하라
- 말장난을 하지마라
- 패턴 또는 알고리즘 등 대중적인 개념에서 가져온 이름을 차용하라
- 도메인 영역에서 가져온 이름을 사용하라
- 의미 있는 맥락을 추가하라
- 불필요한 맥락을 없애라
함수
- 작게 만들어라, 더 작게 만들어라
- 한 가지만 해라
- 함수는 한 가지를 해야한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다.
- 함수당 추상화 수준은 하나로
- Switch 문은 다형성을 이용해 하나만 만들어라.
- 서술적인 이름을 사용하라.
- 함수 인수는 없는게 제일 좋다. 그 다음은 1개, 2개 부터 의미가 흐려지며 3가지는 사용 하지 마라.
- 2개 또는 3개 이상의 인수가 하나의 개념을 전달하려 한다면 인수 객체를 생성해 전달하라
- 좋은 함수 이름은 동사/명사로 쌍을 이룬다
- 부수 효과를 일으키지 마라
- 출력 인수는 사용하지 않는다
- 명령과 조회를 분리하라
- 오류 코드 보다 예외를 사용하라
- Try/catch 블록 뽑아내기
- 오류 처리도 한 가지 작업이다
- 반복하지 마라
주석
- 주석은 나쁜 코드를 보완하지 못한다.
- 코드로 의도를 표현하라.
- Todo 주석
- 함수나 변수로 표현할 수 있다면 주석을 달지 마라
- 주석과 주석이 설명하는 코드는 둘 사이 관계가 명확해야 한다.
- 주석은 내 코드를 읽을 독자를 위해 쓴다
- 짧은 함수는 주석이 필요 없으며 코드가 성명을 대신한다
형식 맞추기 ( Code Style)
- 하나의 파일에 적절한 코드 길이를 유지하라
- 한개의 파일이 평균 200줄로도 커다란 시스템을 구축할 수 있다
- 신문 기사 처럼 작성하라
- 개념은 빈 행으로 분리하라
- 변수는 사용하는 위치에 제일 가깝게 둬라
- 한 함수가 다른 함수를 호출한다면 읽는 방향에 맞게 순서를 배치하라
- 개념적 유사성이 높을수록 코드를 가까이 배치하라
- 가로형식은 여러 프로젝트를 분석해본 결과 20~60자는 40% 10자 미만은 30% 80자 이후 부터는 급격하게 줄어든다.
- 프로그래머는 명백하게 짧은 행을 선호한다.
자료구조
reference
- 로버트 C. 마틴 지음, 박재호·이해영 옮김 『 Clean Code 』, 프로그램 프로그래밍 프로그래머, 인용.