========= 다음 글은 activelow님이 정리해 놓은 글입니다 ==========

(허락없이 가져왔습니다. 말씀하시면 바로 삭제 할께요. 좋은 글인 것 같아서 ㅠㅠ) 

1. 프로그램 설계 시에 알아야 할 좋은 코딩 방법

 

-          최신 표준을 따르라.

-          개발 인원을 적정한 규모로 한정하라.

-          프로그램을 새로 만드는 것보다 유지보수 하는 경우가 많다.

-          새로운 기법을 도입할 때는 신중히 하라.

-          Run and Fix전략을 피하라.

 

2. 띄어 쓸 때 좋은 코딩 방법

 

-          한 줄에 한문장만 써라.

-          선언문과 실행 문을 구분하라.

-          단락을 구분하라.

-          제어문들 사이를 구분하라.

-          함수들 사이를 구분하라.

-          연산자의 앞뒤로 빈 칸을 두라.

-          단항 연산자를 피연산자와 띄어 쓰지 마라.

 

3. 들여 쓸 때 좋은 코딩 방법

 

-          중괄호의 위치를 통일 시켜라.

-          내부 블록은 들여써라.

-          피제어부는 들여써라.

-          쓸데없는 들여쓰기는 하지 마라.

 

* 조건문/반복문 사용시 코딩 스타일

 

while (number == 0) {

    printf(continue..\n);

    continue();

}

 

* 함수의 코딩 스타일

 

int InitLcdFunc (int init)

{

    printf(LCD init rootine……\n);

    return 0;

}

 

 

* 중괄호 사용 시 코딩 스타일

 

void main ()

{

    {

        int var;

    }

}

 

4. 주석을 작성할 때 좋은 코딩 방법

 

-          다양한 주석의 형태

-          한 줄 주석과 주석 상자를 구분하라.

-          변수 사전 작성용 주석을 달아라.

-          의사 코드를 프로그램에 기입하라.

-          프로그램의 앞부분에 머리 주석을 반드시 달아라.

 

* 한 줄 주석

 

/* 한 줄 주석은 이렇게 작성한다. */

 

* 여러 줄 주석

 

/* 함수 및 긴 루틴을 설명하는 주석은 이렇게 작성한다.

*여러 줄이 필요 한 주석도 이렇게 작성한다.

*/

 

* 강조 사항이 있는 주석

 

/*********************************************************************** */

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!           고 (Warning)        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */

/*   이 프로그램은 특별히 주의를 요한다. */

/*   모든 수치를 정밀하게 검증할 필요가 있다. */

/*********************************************************************** */

 

* 박스 주석

 

/*********************************************************************** */

/*   박스 모양의 주석은 이렇게 작성한다. */

/*   내용을 입력한다. */

/*********************************************************************** */

 

* 파일을 설명하는 주석

 

/* ======================================================= */

/*   원본 프로그램 명칭 : functcall.c                                */

/*   실행 프로그램 명칭 : functcall.exe                              */

/*                                                                  */

/*   목적 : 파일 조작 함수들을 호출하여 그 결과 값을 보존한다.       */

/*                                                                  */

/*   작 성 자     : 홍길동                                           */

/*   최초 작성일  : 2004년 01월 01일                                */

/*   제1차 수정일 : 2004년 12월 31일 (김진수) */

/*       - 함수 호출 문장들을 정렬하여 읽기 쉽게 함 */

/* ======================================================= */

 

 

5. 식별자 이름을 지을 때 좋은 코딩 방법 1

 

-          변수 이름을 체계적으로 지어라.

-          헝가리안 표기법으로 변수 이름을 지어라.

-          변수의 자료형을 변수 이름에 접두사로 표기하라.

-          기억 영역 계층을 접두사로 활용하라.

-          함수의 역할을 접두사로 활용하라.

-          자신만의 접두사를 만들어 활용하라.

 

6. 식별자 이름을 지을 때 좋은 코딩 방법 2

 

-          이름을 의미있게 지어라

-          비슷한 변수 이름을 사용하지 마라.

-          의미를 잃지 않는 범위에서 짧게 지어라.

-          이름이 길면 밑줄 또는 대소문자로 구분하라.

-          변수 이름을 밑줄로 시작하지 마라.

-          밑줄을 과도하게 사용하지마라.

-          대소문자를 적절히 배합해서 만들어라.

-          대소문자만으로 이름을 구분하지 마라.

 

< 변수 이름 예 >

l       static int  siMyNum;

l       register int riCounter;

 

< 함수 이름 예 >

l       int GetSoybeanFlour (int Soybean);

l       int GetNumber (void);

 

 

< 변수의 기억 영역 계층과 접두사 >

접두사의 예

접두사가 지시하는 내용

a

자동(auto) 변수

s

정적(static) 변수

g

전역(global) 변수

e

외부(external) 변수

r

레지스터(register) 변수

 

 

< 변수의 자료형에 따라 붙는 접두사 >

접두사의 예

접두사가 지시하는 내용

a

배열

arr

배열

b

bool 형 변수

c

character 형 변수

d

double 형 변수

f

float 형 변수

fd

파일 기술자

fp

파일 포인터형 변수

h

핸들

I

int 형 변수

n

int 형 변수

p

포인터형 변수

pfn

함수에 대한 포인터

r

참조형 변수

s

String 형 변수

str

Cstring 형 변수

u

unsigned 형 변수

w

word 형 변수

 

< 함수의 접두사를 활용한 예 >

접두사 활용 예

접두사가 지시하는 내용

GetNumber()

 'Get'으로 수를 얻기 위한 함수라는 것을 알수 있다.

SetNumber()

 'Set'으로 수를 설정하는 함수라는것을 알수 있다.

MaxNumber()

 'Max'로 수치 중에 최대값을 얻는 함수라는 것을 알 수 있다.

PutNumber()

 'Put'으로 수를 저장하기 위한 함수라는 것을 알 수 있다.

 

 

< 함수이름 작성시 접두사 >

접두사

지시하는 내용

Avr

평균값을 얻는다.

AvrOfTot

Cnt

데이터의 개수를 얻는다.

CntAllthing

Check

어떤 값을 검증한다.

ChkData

Get

어떤값을 얻는다.

GetData

Set

어떤값을 설정한다.

SetData

Is

무엇인가에 대해서 묻는 역할을 한다.

IsKey

Key

데이터 중에서 키 값만을 얻는다.

KeyPaymentTable

Max

최대값을 얻는다.

MaxOfNum

Mid

중간값을 얻는다.

MidOfData

Min

최소값을 얻는다.

MinOfArray

 

 

< 식별자 이름 작성시 축약어 >

 

축 약 어

Function

   fun

Number

   num

Day

   d 또는 dd

Month

   m 또는 mm

Year

   y 또는 yy

Temporary

   Temp

Terminate

   End

Terminal

   Term

 

 

7. 대소문자를 구분하여 이름 짖는 코딩 방법

 

-          변수나 객체의 이름은 소문자로 한다.

-          함수, 클래스, 구조형, 공용형 등의 이름은 대문자로 시작한다.

-          기호 상수나 매크로 함수는 모든 글자를 대문자로만 짓는다.

 

8. 연산자 사용을 위한 코딩 방법

 

-          조건 연산자는 경우에 따라서 효율성을 발휘한다.

-          연산자 우선순위는 ( )로 구분하라.

-          포인터 연산자를 변수 이름쪽에 붙여서 써라.

-          쉬프트 연산자는 빠른 속도가 필요할 때 사용, 일반적으로 산술 연산자 사용.

 

9. 명료한 프로그램을 만들기 위한 코딩 방법

 

-          함축된 코드 보다는 명료하고 이해하기 쉬운 프로그램을 작성하라.

-          while문에서 관계/대입 연산자의 우선순위를 혼동하지 마라.

-          while, for, if와 같은 조건식 안에서는 조건 연산 외에 대입 연산 등을 하지 마라.

-          묵시적인 non zero test를 하지마라.

-          KISS ( Keep It Simple and Short) 규칙을 따르자.

-          함수의 원형에도 인수의 자료형을 표기하라.

-          가인수에도 이름을 기제한다.

-          반환 자료형을 반드시 표기하라.

 

10. 이식하기 좋은 프로그램 만들기 위한 코딩 방법

 

-          파일 이름의 길이를 14자로 제한한다.

-          파일 이름에 특수문자를 사용하지 마라.

-          조건부 컴파일을 활용하여 이식성을 높여라.

-          컴파일러의 한계를 인식하라. (중첩 단계, 모듈 크기, 식별자 길이)

-          자료형의 크기가 달라질 수 있음을 고려하라. (프로그램 도입부에 sizeof()

연산자를 사용하여 자료형의 크기를 측정하는 방법도 있다.

-          절대 경로를 지정하지 마라. (헤더파일 등 삽입시)

 

11. 정밀한 프로그램을 만들기 위한 코딩 방법

 

-          정밀한 계산이 필요하다면 부동소수점 연산을 피하라.

-          정밀한 계산에는 flot형보다 double형을 사용해라.

-          정수형의 크기를 확인하라.

-          계산 단위를 명시하라.

-          나눗셈 연산에 주의하라. (소수이하 부분 생략)

-          자료형의 변환이 이루어지지 않도록 하라. (작은 단위로 변환 시 자료 유실됨)

 

12. 성능향상을 위한 코딩 방법

 

-          성능이 중요하다면 될 수 있는 한 출력하지 마라.

-          연산을 단순한 형태로 바꿔라. (아래는 연산자 부하의 크기)

비트/논리 연산 < 덧셈/뺄셈 < 곱셈 < 나눗셈 < 부동 소수점 처리

-          효율성이 요구되는 큰 파일을 다룰 때는 바이너리 파일을 사용하라.

-          팩키드 구조체와 언팩키드 구조체의 장단점을 인식하고 사용하라.

팩키드 구조체 : 스택의 크기 제한, 신호 처리 변수가 많이 필요한 경우 사용.

언팩키드 구조체 : 스택의 크기 제한 없음, 신호 처리 변수가 적을 경우 사용.

-          실행 환경을 고려하여 언어 선택하라.

 

13. 이해하기 쉬운 프로그램을 만들기 위한 코딩 방법

 

-          goto 문을 사용하지 마라.

-          C의 구성요소를 선행처리기로 치환하지 마라.

-          긴 자료형은 짧은 이름으로 바꿔 사용하라.

-          조건식 보다는 if 문을 사용하라.

-          배열의 차원을 3차원으로 한정하라.

 

14. 사용자 인터페이스를 처리할 때의  코딩 방법

 

-          입력 값을 저장할 변수의 크기를 충분히 확보하라.

-          변환 지정자와 매개변수의 개수를 일치시켜라.

-          scanf() 함수 보다는 fgets()와 sscanf() 함수를 사용하라.

-          fflush() 함수를 사용해 표준 입출력 장치의 버퍼를 비워라.

 

15. 오류 없는 프로그램을 만들기 위한 코딩 방법

 

-          배열의 첨자는 0부터 시작한다는 것을 잊지 마라.

-          치환 문자열은 반드시 괄호를 씌워라.

-          파일을 열었다면 반드시 닫아라.

-          컴파일러의 경고를 무시하지 마라.

-          런타임 오류를 인식하고, 그것이 발생하지 않도록 코드를 작성하라.

-          배열이 큰 경우에는 정적 변수로 선언하라


+ Recent posts