1.13 Coding Style

R script를 작성할 때는 누가 봐도 읽기 쉽게 작성하여야 한다. 저자가 제안하는 최소한의 coding style은 다음과 같다.

  1. R script 파일은 확장자를 .R로 한다.
  2. 변수명, 함수명은 기존 이름들과 충돌하거나 혼동되지 않게 쓴다. 변수명은 variableName, 함수명은 FunctionName, 상수는 CONSTANT와 같이 한다. 변수명 마지막에는 번호를 붙여도 좋다.
  3. 한 줄의 길이(line length)는 너무 길어서는 안 된다. 대개 80자 이내가 바람직하지만, 경우에 따라서는 조금 늘어날 수도 있다.
  4. 같은 level의 block은 들여쓰기(indentation)를 한다. 들여쓰기는 tab문자를 사용하지 말고, space 문자 2개를 쓴다.
  5. 적절한 공백을 사용한다. 쉼표 뒤는 띄운다. +/- 앞뒤는 띄운다. 함수를 부를 때 쓰는 괄호는 붙여쓰지만, if/for 와 같은 flow control, loop의 경우에는 띄운다.
  6. if/for 뒤의 문장 블록(a block of statements)을 묶는 brace의 시작은 다음 줄에서 시작하지 않고, if/for 와 같은 줄에서 시작한다. 끝날 때는 if/for 시작 위치와 동일한 컬럼 위치에 단독으로 쓴다. else는 직전 brace와 같은 줄에 쓴다.
  7. 주석은 한참 시간이 흐른 후에 봐도 본인이 왜 그렇게 코딩했는지 이해할 수 있게 쓴다. 즉, 본인을 위해서도 쓰는 것이다.
  8. R에서 attach를 최대한 사용하지 않는다. 많은 coding 오류의 원인이 된다.
  9. 함수의 input argument를 check한다.
  10. 함수의 return은 가급적 끝에서 한 번 일어나도록 한다.
  11. 함수의 길이는 가급적 50줄 이내로 한다.
  12. 자료구조(data structure)를 잘 설계하면 algorithm을 우아하게(elegant) 만들 수 있는 경우가 많다. 즉, structure가 algorithm에 큰 영향을 미친다.
  13. 애매모호하지 않으면서도, 예뻐 보이는 코딩이 있으면 그렇게 한다.