기본 콘텐츠로 건너뛰기

[링크] c++ 코딩 스타일

http://btd86.tistory.com/73 - C++ 코딩 스타일

코딩 규칙


코딩 할때 규칙을 정하기로 했습니다.

1. 제어문은 아래와 같이 소괄호를 한칸 띈다.
   if (i == 0)
   while (TRUE)
   switch (i)
   for (int i = 0; i < 10; i++)

2. 괄호에 빈칸을 삽입 하지 않는다.
   if ( i == 0 ) (X) , if (i == 0) (O)
   GetLogger()->Info( _T("Test") ); (X), GetLogger()->Info(_T("Test")); (O)
   if ( (i == 0) || (j == 1) ) (X), if ((i == 0) || (j == 1)) (O)

3. switch ~ case 문
   switch ()
   {
   case 1:
       break;
   case 2:
       break;
   case 3:
       break;
   }

4. 반환 값처리는 바로바로
   // no
   if (hWnd != NULL)
   {
   }
   else
   {
       return false;
   }

   // yes
   if (hWnd == NULL)
       return false;

5. 빈줄 탭이나 공백문자 제거(trim)

6. 전역 변수는 'g_' 을 사용한다.

7. 클래스의 멤버 변수는 'm_' 을 사용한다.

8. 포인터(*) 및 참조(&) 표기는 변수 앞에 붙여서 선언한다.

9. #define enum 및 const 는 대문자와 단어 사이에 '_' 를 붙인다.

10. 각 변수 및 함수의 이름은 대문자로 시작한다.
   int nTypeMax, char szFileInfomation, (O)
   int ntype_max, char szfile_infomation (X)

11.#define 보다 const 형 또는 static const 형을 되도록 사용한다.
   static const int MAX_CARD = 1000

12.BOOL형 역방향형 변수는 사용하지 않는다.
   BOOL bError (O) BOOL bNoError (X)

13.bool, true, false 는 사용하지 않고 BOOL, TRUE, FALSE 로 사용한다.
(BOOL등은 4바이트 자료형이고 bool등은 1비트(실제로는 1바이트) 자료형이다. 32비트 운영체계의 경우 속도와 비교하는데 걸리는 성능 부분에도 유리하고 알아보기도 좋기 때문에 위와 같은 대문자로 된 자료형을 사용한다.)

14.함수의 인자는 NULL 입력이 가능하다면 포인터(*)를 이용하고 그렇지 않다면 참조(&)을 사용한다.
(포인터 방식의 최대 단점은 NULL을 원하지 않은 경우에도 NULL이 입력될 수 있다는 점이다. 따라서 이러한 것을 근본적으로 막기 위해서는 NULL이 입력되지 않기를 원하는 함수의 인자는 참조를 사용한다.)

15.변수 또는 함수 선언 시 TAB으로 정렬하지 않는다.
(TAB문자를 이용한 정렬은 보기가 좋기는 하지만 결국 전체 스타일은 망가뜨린다. 또한 특정 변수의 추가 / 제거시 다른 변수들의 탭이 엉클어져 다시 정돈하는 과정이 필요하므로 불필요한 편집 작업을 늘린다.)

16.일반적으로 i++ 은 사용이 가능하지만 ++i 는 사용하지 않는다.
(속도를 위해서 후자를 사용하는 사례들이 가끔 있지만 사실상 컴파일러의 최적화로 인하여 위 내용의 속도의 차이가 존재하지 않는다. 따라서 가독성과 통일성을 이유로 전자만 사용한다.)

댓글

이 블로그의 인기 게시물

[c#.net] WPF 사용 중 xaml관련 실행시 오류 와 대처 방법

wpf 사용 중 xaml관련 실행시 오류 가 발생해서 자그마치 2일을 소비 했다..--;; 오류 내용은 아래와 같다. ================================== 'System.Windows.Markup.XamlParseException' 형식의 첫째 예외가 PresentationFrameWork.dll에서 발생했습니다. 추가 정보: '지정된 바인딩 제약 조건과 일치하는 'PapaZone.MainWindow' 형식에 대한 생성자 호출에서 예외가 throw 되었습니다.' 줄 번호 '21' 및 줄 위치 '9' 이 예외에 대한 처리기가 있으면 프로그램을 안전하게 계속할 수 있습니다. [] 이 예외 형식이 throw되면 중단 ================================== 위 Xaml 오류 메세지만으로는 내용 추적 불가하여, 도대체 뭔가 했다. 검색해도 뚜렷한 답변은 없었지만, 여러가지 의견을 종합해 보면 아래와 같다. 1. xmlns 관련 파일 과 관련된 파일 로딩 실패 이거나, 2. 신규로 추가된 namespace 에 속한 태그 사용시 오류로 판단되어 태그 하나씩 삽입하며 테스트 해봐야 한다고 함. 해결한 지금에 원인을 보면, xaml 에서 clr-namespace 로 추가된 항목들이 로딩에 실패해서 발생한 것이며, 추가된 항목은 있었으나, 이것과 연결된 파일이 없어서 로딩되지 않는 것이 문제였다. 오늘도 즐거운 하루~~

[MSSQL] SQL Server 에 원격 접속을 못하는 경우 조치 방법

[MSSQL] SQL Server 에 원격 접속을 못하는 경우 조치 방법 내부 오류 추적 결과 다음과 같이 나옴. [Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. SqlState : 08001, NativeError : 10061 오류 원인과 처리 1.SQL 서버 로그인 계정 틀린 경우 -> A.SQL Managerment Studio에서 사용할 DB 접속 '로그인' 사용할 계정의 아이디/암호 확인 2.TCP/IP 접속 권한이 없는 경우 -> A.SQL Server 구성 관리자를 실행에서 TCP/IP 허용 되어 있는지 확인 B. 서비스 포트 값이 (보통 1433) 맞는지 확인 C. 외부에서 접속하는 경우에는 방화벽 허용 되엉 있는지 확인 C. 서비스 재시작 3.Windows 인증 모드만 허용 인 경우 -> A.SQL Managerment Studio에서 사용할 DB 접속하고, 우클릭 하여 속성 정보 확인해서 B.연결에서 인증모드 '로그인' 사용할 계정의 아이디/암호 확인 4.'exec Sp_ReadErrorLog' 명령어를 사용해서, 로그인 실패 로그를 확인해서 원인을 분석한다.

[링크] CPU 점유율과 성능, 스트레스 테스트 프로그램

http://blog.naver.com/PostView.nhn?blogId=hoonedang1&logNo=90114299682 - CPU 점유율 설정값으로 높여주는 프로그램 - 내용 삭제됨 0. While(1) {}, for(;;) {} 실행시 CPU 100 % 가 되는 이유에 한번쯔음 읽어 볼만한 곳 https://kldp.org/node/31797 1. CPU 점유율과 메모리 점유율 높이는 프로그램 1.1 StressNG - 유닉스/리눅스 스트레스 테스트 https://websetnet.com/ko/how-to-stress-test-cpu-and-memory-vm-on-a-linux-and-unix-with-stress-ng/ 1.2. HostWay - 리눅스 스트레스 테스트 도구 http://faq.hostway.co.kr/?mid=Linux_ETC&page=6&document_srl=1490 1.2 IntelBurnTest - 윈도우, 오버클럭 안정 상태 테스트 프로그램 http://blog.naver.com/PostView.nhn?blogId=tyboss&logNo=70084727507 1.3 SP2004(StressPrime2004) - 윈도우, CPU와 RAM 스트레스 http://cair.tistory.com/111 1.4.  Stress My PC v1.21 (시스템 과부하 테스트) - 윈도우 http://www.kbench.com/software/?q=node/47223 1 .5. HeavyLoad - 윈도우,  서버 성능측정을 위한 스트레스툴(프리웨어) http://idchowto.com/?p=9159 1.6. Prime95 - 윈도우, CPU 스트레스 http://extrememanual.com/archives/3798 2. 윈도우즈 설치한 시스템에서 성능이 제대로 나오지 않을 때 확인 해봐야 하는 것들. 2.1. 윈도우즈 에서 성능...