티스토리 뷰

Digital Developer

[ECCS] 공백

Escaper 2020. 10. 4. 09:32
반응형

3. 공백 규정

3. 1 공백

규정

  1. if, while, for, switch, return 키워드와 같은 줄에 추가 표현이 있을 때 각 키워드 뒤에 공백 한 칸이 있어야 합니다.
  2. 각 할당 연산자 =, +=, -=, *=, /=, %=, &=, |=, ^=, ~=, !=는 항상 앞과 뒤에 공백 한 칸씩 있어야 합니다.
  3. 각 이항 연산자 +, -, *, /, %, <, <=, >, >=, ==, !=, <<, >>, &, |, ^, &&, ||는 항상 앞과 뒤에 공백 한 칸씩 있어야 합니다.
  4. 각 단항 연산자 +, -, ++, --, !, ~는 피연산자와 공백 없이 붙어 있어야 합니다.
  5. 포인터 연산자 *  &는 선언문 내에서는 앞뒤로 공백이 있어야하지만, 선언문이 아닌 경우 피연산자와 공백없이 붙어 있어야 합니다.
  6. 삼항 연산자인 ?  : 는 항상 앞뒤에 공백 한 칸씩 있어야 합니다.
  7. 구조체 포인터 연산자 및 구조체 멤버 연산자(->  .)는 항상 앞뒤에 공백이 없어야 합니다.
  8. 배열 첨자 연산자(array subscript operator) ([, ])는 다른 화이트 스페이스 규칙에서 요구하는 경우를 제외하고 앞뒤에 공백이 없어야 합니다.
  9. 괄호 안의 표현식에서는 괄호 옆에 공백이 없어야 합니다.
  10. 함수 호출시 사용하는 괄호에서는 항상 앞뒤에 공백이 없어야 한다. 다만, 함수 이름을 쉽게 구별할 수 있도록 함수 선언에서는 함수 이름과 왼쪽 괄호 사이에 공백이 있어야 합니다.
  11. 라인의 끝에 있는 경우를 제외하고, 함수의 매개변수를 구분하는 쉼표 뒤에는 항상 하나의 공백이 있어야 합니다.
  12. for문의 요소를 구분하는 각 세미콜론 뒤에는 항상 하나의 공백이 있어야 합니다.
  13. 문장을 종료하는 세미콜론 앞에는 공백이 없어야 합니다.

예시

/** @file crc.h
*
* @brief Compact CRC library for embedded systems for CRC-CCITT, CRC-16, CRC-32.
*
* @par
* COPYRIGHT NOTICE: (c) 2000, 2018 Michael Barr. This software is placed in the
* public domain and may be used for any purpose. However, this notice must not
* be changed or removed. No warranty is expressed or implied by the publication
* or distribution of this source code.
*/

#ifndef CRC_H
#define CRC_H

// Compile-time selection of the desired CRC algorithm.
//
#if defined(CRC_CCITT)

#define CRC_NAME "CRC-CCITT"
typedef uint16_t crc_t;

#elif defined(CRC_16)

#define CRC_NAME "CRC-16"
typedef uint16_t crc_t;

#elif defined(CRC_32)

#define CRC_NAME "CRC-32"
typedef uint32_t crc_t;

#else

#error "One of CRC_CCITT, CRC_16, or CRC_32 must be #define'd."

#endif

// Public API functions provided by the Compact CRC library.
//
void 	crc_init(void);
crc_t 	crc_slow(uint8_t const * const p_message, int n_bytes);
crc_t 	crc_fast(uint8_t const * const p_message, int n_bytes);

#endif /* CRC_H */

/*** end of file ***/

이유

소스 코드에서 공백의 배치는 텍스트만큼 중요합니다. 공백을 잘 사용하면 눈의 피로를 줄이고 프로그래머와 코드 검토자가 잠재적인 버그를 찾아낼 가능성을 높일 수 있습니다.

시행

이러한 규칙은 프로그래머가 코딩 작업을 할 때 준수하여야 하며, GNU Indent와 같은 툴을 이용해 시행되어야 합니다.

'Digital Developer' 카테고리의 다른 글

[ECCS] 빈 줄  (0) 2020.10.09
[ECCS] 정렬  (0) 2020.10.08
[ECCS] 주석의 위치와 내용  (0) 2020.10.03
[ECCS] 주석에서 허용하는 형식  (1) 2020.10.02
[ECCS] 자주 사용하는 키워드  (0) 2020.10.01
댓글
최근에 올라온 글
Total
Today
Yesterday