읽기 좋은 코드가 좋은 코드다 part1
표면적 수준에서의 개선
2. 이름에 정보담기
특정한 단어 고르기
- 매우 구체적인 단어를 선택하여 무의미한 단어를 피한다
- ex. getPage 보단 FetchPage 또는 DownloadPage
꼭 그래야 하는 이유가 없다면 tmp나 retval 같은 보편적인 이름 피하기
대상을 자세히 묘사하는 구체적인 이름을 사용하라
- serverCanStart()는 canListenOnPort()에 비해서 의미가 모호하다
변수명에 중요한 세부 정보를 덧붙여라
- 밀리초의 값을 저장하는 변수 뒤에 _ms를 붙인다.
사용 범위가 넓으면 긴 이름을 사용하라
- 여러 페이지에서 걸쳐서 사용되는 변수의 이름을 하나 혹은 두 개의 짧은 문자로 구성해 의미를 알아보기 힘들게 짓지 말라
대문자나 밑줄 등을 의미있게 사용하라
- 클래스 멤버를 로컬 변수와 구분하기 위해 뒤에 _를 붙일 수 있다.
3. 오해할 수 없는 이름들
언제나 의미가 오해되지 않는 이름이 최선의 이름
- 상한과 하한을 정할 때 max_와 min_을 앞에 붙이면 좋은 접두사 역할을 한다.
- 경계를 포함한다면 first, last
- 경계의 시작만 포함하고 마지막은 배제한다면 begin과 end
사람들이 get()은 가벼울 것이라고 생각하기 때문에 무겁다면 사용하지 말 것
4. 미학
누구나 미학적으로 보기 좋은 코드를 읽고 싶어한다.
코드를 일관성 있게, 의미 있는 방식으로 정렬하여, 읽기 편하고 빠르게 만들 수 있다.
여러 블록에 담긴 코드가 모두 비슷한 일을 한다면, 실루엣이 동일하게 만들어라
- new TCPConncetionSimulator(500 , 80, 200, 1)
- new TCPConncetionSimulator(45000 , 80, 200, 1)
코드 곳곳을 열로 만들어서 줄을 맞추면 코드를 한 눈에 훑어보기 편하다
메소드를 활용하여 불규칙성을 제거하라
코드의 한 곳에서 A, B, C 순서대로 언급되고 있으면, 다른 곳에서 B, C, A와 같은 식으로 언급하지 말라.
빈 줄을 이용하여 커다란 블록을 논리적인 문단으로 나누어라
일관성 있는 스타일은 올바른 스타일 보다 중요하다.
5. 주석에 담아야 하는 대상
주석을 다는 목적은 코드를 작성하는 사람이 알고 있는 정보를 코드를 읽는 사람에게 전달하는 것이다
설명하지 말아야 하는 것
- 코드 자체에서 빨리 도출될 수 있는 사실
- 나쁘게 작성된 코드를 보정하려고 애쓰는 주석. 그렇게 하는 대신 코드를 수정하라
기록해야 하는 주석
- 코드가 특정한 방식으로 작성된 이유를 설명
- 코드에 담긴 결함
- 어떤 상수가 특정한 값을 갖게 된 사연
자신이 코드를 읽는 입장에서 생각
- 읽는 사람 입장에서 어떻게 생각할지 예측해보고, 주석 추가
- 평범한 사람이 예상하지 못할 특이한 동작을 기록
- 파일이나 클래스 수준 주석에서 큰 그림을 설명하고 각 조각이 어떻게 맞춰지는지 설명
- 블록별로 주석을 달아 나무만 보고 숲은 못 보는 실수를 저지르지 말 것
6. 명확하고 간결한 주석 달기
This post is licensed under CC BY 4.0 by the author.