[5분만에 책 한권 읽기] 읽기 좋은 코드가 좋은 코드다. (The Art of Readable Code)

|
읽기 좋은 코드가 좋은 코드다
국내도서
저자 : 더스틴 보즈웰,트레버 파우커 / 임백준역
출판 : 한빛미디어 2012.04.10
상세보기

 

 

The Art of Readable Code ( 읽기 좋은 코드가 좋은 코드다 ) -Dustin Boswell and Trevor Foucher

 

 

+정말이지 프로그래머라면 반드시 읽어야 되는 책중에 하나라고 생각합니다.

코드는 읽기가 좋아야 나중에 유지보수도 쉽고 개발중에도 더 빠른속도로 파악이 가능하며 생산성도 높습니다.

가독성 향상을 위한 작명법,주석, 빈줄 삽입등 간단한 규칙만 지키면 코드를 더 읽기 쉽고 유지보수가 쉽게 만들수가 있다. 아래는 간단히 정리하였지만 꼭 1독 이상을 권장합니다.

 

[핵심적인 내용들]

 

1.tmp나 rtval 같은 보편적인 이름을 사용하지 말고 변수값을 설명하는 이름을 사용하라.

  보편적인 이름을 사용하려면 꼭 그렇게 해야하는 이유가 있어야한다.

 

2.명확한 변수명을 사용하면 가독성도 좋을 뿐만 아니라 버그도 줄일수 있다.(변수명에 sum 인데 -를 하는경우등)

 

3.변수명에 단위를 포함하거나 중요한 속성을 포함해서 작성한다.

   dealy->delay_secs , size->size_mb / html_utf8

 

4.변수명의 약어를 정할 때는 팀에 새로 합류한 사람이 변수가 의미하는 바를 이해할 수 있다면 좋은 작명이다.

 

5.클래스 표기법 

  -클래스명은 Camel 표기법

  -클래스 member 변수는 _로 끝남

  -클래스 메소드는 대문자로 시작(? 소문자 아닌가?)해서 Camel표기법

 

6.변수명은 부정어 보단 긍정어를 사용하라 ( isNotExist => isExist )

 

7.메서드명은 해당 작업이 어떤식으로 진행되는지 표현이 가능해야 한다. 보통 get으로 시작하는 메소드는 가벼운 접근자로 생각한다.그런데 이러한 메소드에 상당히 시간이 걸리는 작업을 하게 되면 문제가 발생할 수 있다.

 

8.비슷한 코드는 비슷하게 보여야 한다. 일관성과 간결성을 위해서 줄 바꿈이나 공백등을 도입하라. 필요하다면 헬퍼 메소드를 이용해서 간결하게 처리하라. 빈줄을 이용해서 커다란 블록을 논리적인 문단으로 나눠라.

 

9.일관성있는 스타일은 '올바른'스타일 보다 더 중요하다.

 

10.코드의 한곳에서 A,B,C가 순서대로 언급이 되면 다른곳에서도 동일한 순서를 지켜라

 

11.코드에서 빠르게 유추할 수 있는 내용은 주석으로 달지 마라

 

12.좋은 코드 > 나쁜 코드 + 좋은 주석

 

13. 코드에 주석 달 때 프로그래머 사이에서 널리 사용되는 표시

  -TODO: 아직 하지 않은 일

  -FIXME:오동작을 일으킨다고 알려진 코드

  -HACK:아름답지 않은 해결책

  -XXX:위험! 여기 큰 문제가 있다.

  -TextMate :ESC

 

14.조건문에서 왼쪽 : 유동적인 '질문을 받는'표현 , 오른쪽 : 더 고정적인 값으로, 비교대상으로 사용되는 표현

   if(bytes_received > bytes_expected)  vs  if(bytes_expected > bytes_received) 

 

15.기본적으로 if/else를 사용하고 ?:를 이용하는 삼항연산은 매우 간단할 때만 사용하라

 

16.중첩을 최소화 하고, 함수 중간에서 반환하여 중첩을 제거하라.

 

17.변수는 함수의 시작 상단에서 모두 정의하지 말고 필요한 시점 바로 전에 정의해서 사용하라

 

18.할머니에게 설명할 수 없다면 당신은 제대로 이해한 게 아닙니다. - 알버트 아인슈타인

 

19.매일 15분씩 자신의 표준 라이브러리에 있는 모든 함수/모듈/형들의 이름을 읽어라. 이미 존재하는 라이브러리로 자신의 문제를 풀 수있는 상황이 많다는것을 잘 모른다. Don't reinvent the Wheel

 

 

 

And