{


다음의 코드를 보고 무엇을 대입하는지 생각해 보자.



일단 나는 이 코드에서 30은 무엇을 의미하는지 50은 무엇을 의미하는지 40은 무엇을 의미하는지 모르겠다. 단지 마법처럼 특정 조건을 통과하거나 걸리게 하는 의미를 지닌 숫자 같다.

이렇게 사용하면, 보는 사람이 이해하기 무척 어려우니 쓰지 말자. 라고 이번 항목은 말하고 있다. .. 팀 프로젝트 할 때 이렇게 쓰여진 코드를 본 나는, 하루 종일 이 숫자가 무엇을 의미하는지 물어보러 쫒아 다녀야만 했다.( 안좋은 기억이다.) 만약, 안좋은 기억으로 남고 싶다면, 이 코드 만큼 좋은 코드도 없을 것이다. ; )

대처 방법으로는 나열자 둔갑술(enum) 이나 상수 변수에 넣어 두어서, 이용하면 되겠다. 불론 상수 변수의 경우 변수명을 잘 지어야 한다. ; )

}

'책 정리 > C++ Coding Standards : C++ 코딩의 정석' 카테고리의 다른 글

항목 22 : 정의의 의존성과 순환 의존성을 최소화 하라. ( Minimize definitional dependencies. Avoid cyclic dependencies. )  (0) 2009.02.24
항목 21 : 컴파일 단위 사이의 초기화 의존성을 없애라. ( Avoid initialization dependencies across compilation units. )  (0) 2009.02.23
항목 20 : 너무 긴 함수와 많은 중첩구조는 피하라. ( Avoid long functions. Avoid deep nesting. )  (0) 2009.02.23
항목 19 : 변수는 항상 초기화하여 사용하라. ( Always initialize variables. )  (0) 2009.02.23
항목 18 : 가능하면 로컬 변수를 선언하여 사용하라. ( Declare variables as locally as possible. )  (0) 2009.02.23
항목 17 : 마법의 숫자는 쓰지 말라. ( Avoid magic numbers. )  (0) 2009.02.23
항목 16 : 매크로 사용을 자제하라.( Avoid macros. )  (0) 2009.02.21
항목 15 : const를 사용하라. ( Use const proactively. )  (0) 2009.02.21
항목 14 : 런타임 오류보다는 컴파일이나 링크 타임 오류가 낫다. ( Prefer compile- and link-time errors to run-time errors. )  (0) 2009.02.19
항목 13 : 자원은 개체가 가지게끔 하라. RAII와 스마트 포인터를 활용하라. ( Ensure resources are owned by objects. Use explicit RAII and smart pointers. )  (0) 2009.02.15
항목 12 : 안전한 공유를 위한 코딩의 시기와 방식을 결정하라. ( Know when and how to code for concurrency. )  (0) 2009.02.14
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기

댓글을 달아 주세요

">