내용으로 건너뛰기
사용자 도구
로그인
사이트 도구
도구
문서 보기
이전 판
백링크
최근 바뀜
미디어 관리
사이트맵
로그인
최근 바뀜
미디어 관리
사이트맵
기술자료
작업공간
개인공간
사이트맵
추적:
kb:maintainablecodecodingstyle
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== Maintainable Code / Coding Style ====== 코딩 스타일과 관련된 사항 ====== 목록 ====== ==== - 로컬 변수는 필요한 만큼만 선언하자 ==== 쓸데 없는 로컬 변수를 남겨두면, 다른 사람에게 혼란을 준다. ==== - 캐릭터 변수를 여러 가지 포맷으로 사용하지 말자 ==== <nowiki>''</nowiki>, 0x20, 040. 이런 식으로 사용하면 좋지 않다. ==== - 캐스팅을 줄이자 ==== 특히나 void* 형식으로 데이터를 넘긴 다음에 캐스팅하는 것은 위험하기도 하거니와, 코드를 보기 어렵게 만든다. ==== - 스위치 안에 스위치를 쓰지 말자 ==== 사람이 이해하기 어렵다. ==== - 묵시적인 변수 타입 변환을 이용하지 말자 ==== ==== - 뭔가 의미가 있는 정수는 따로 정의한 다음에 사용하자 ==== <code cpp> switch (menu) { case 1: ... case 2: ... } </code> <code cpp> const int COPY = 1; const int PASTE = 2; switch (menu) { case COPY: ... case PASTE: ... } </code> ==== - 코드 안에서 8진수를 사용하지 마자 ==== ==== - 너무 단계가 많은 네스팅은 외부로 빼내자 ==== <code cpp> if (a) { if (b) { if (c) { good(); } else { error3(); } } else { error2(); } } else { error1(); } </code> 위와 같은 코드는 다음과 같이 만드는 것이 훨씬 보기 쉽다. <code cpp> if (!a) { error1(); return; } if (!b) { error2(); return; } if (!c) { error3(); return; } good(); </code> :!: 위의 예 같은 경우에는 예외처리도 좋은 해결 방안이 되겠다. ==== - 한 라인 안에다 너무 많은 내용을 집어넣지 말자 ==== 가로 스크롤은 힘들다. ==== - 함수 헤더 선언시, 함수 내부에서 취급하지도 않는 예외를 throw 목록에 선언하지 말자 ==== ==== - 뻔히 발생할 수 있는 사건에 대해 예외 처리 기능을 사용하지 말자 ==== ==== - 트릭에 빠져들지 말자 ==== <code cpp> a=a++; f(a++,a++); </code> <code> *++b ? (*++b + *(b-1)) : 0 </code> ==== - if 구문 다음에 괄호 붙이기를 생활화하자 ==== 음... 개인적으로 뼈아픈 내용이다. 옛날에 if 구문 뒤에다 괄호를 안 붙였다가, 돈 복사 버그를 만들어 내어 빽섭한 적이 있다. 일부러 그러는 사람이야 없겠지만, 들여쓰기마저 이상하게 하는 경우, 상당히 짜증나는 코드를 만들 수 있다. <code cpp> if ( a ) if ( b ) x=y; else x=z; </code> //대충 이런 식이였던 듯 한데...// :( ==== - 탭 사용은 될 수 있는 한 줄이자 ==== 왜 파이썬에 강제 들여쓰기가 있겠는가. 원래 여러 사람이 코드를 보려면 들여쓰기는 스페이스로 하는 게 정석이다. 하지만 매번 스페이스바 누르기가 귀찮다면, 최소한 프로그램 팀 안에서는 탭 사이즈를 1가지로 정해두고 사용해라. 이 사람은 2 탭, 저 사람은 4 탭, 이 따위로 하면 코드 정말 보기 어려워진다. 또한 문자열 선언 안에다 탭 캐릭터를 쓰면 좋지 않다. "\t"를 사용해라. ==== - 너무 복잡한 매크로를 선언하지 말자 ==== 특히 중첩된 매크로를 여러 헤더 파일에다 분리해서 선언하는 경우, 매우 괴롭다. ==== - 하나의 화면에다 될 수 있는 한 많은 것을 보여줄 수 있도록 하자 ==== 주석 잘 다는 것은 좋은데, 다음과 같은 정도의 주석이 함수마다 존재하는 코드가 있다면 과연 보기 쉬울까? <code cpp> /* /* Procedure Name: /* /* Original procedure name: /* /* Author: /* /* Date of creation: /* /* Dates of modification: /* /* Modification authors: /* /* Original file name: /* /* Purpose: /* /* Intent: /* /* Designation: /* /* Classes used: /* /* Constants: /* /* Local variables: /* /* Parameters: /* /* Date of creation: /* /* Purpose: */ </code> ---- * see also [[MaintainableCode]]
kb/maintainablecodecodingstyle.txt
· 마지막으로 수정됨: 2014/11/08 16:50 (바깥 편집)
문서 도구
문서 보기
이전 판
백링크
맨 위로