프로그래밍 언어/[ Coding Style Guide ] 7

[ Coding Style Guide ] 06. C언어 - 함수

함수 짧은 함수 짧고 집중된 함수를 작성한다. 함수가 40줄을 넘어가면 포그램의 구조를 해치지 않는 범위에서 함수를 나눌 수 있도록 노력한다. 긴함수가 지금은 잘 동작하더라도, 누군가 나중에 새로운 동작을 넣을 수 있으며, 이로 인채 찾기 힘든 버그가 발생할 수 있다. 함수를 짧고 간단하게 유지하는 것은 다른 사람이 코드를 읽고 고치지 쉽게 만든다.

[ Coding Style Guide ] 05. C언어 - 주석

주석 주석은 코드의 가독성을 유지하는 데 매우 중요하다. 하지만 이와 별개로, 가장 좋은 주석은 코드 자체이다. 즉, 최대한 주석없이도 코드 만으로 이해할 수 있도록 코드를 작성한다. 타입과 변수, 함수 등에 이해할 수 있는 이름을 적용하는 것이 이상한 이름을 짓고 주석으로 설명하는 것보다 낫다. 주석을 작성할 때에는 그 코드를 보고 이해해야 하는 사람을 위해 성실하게 작성한다. 주석스타일 // 또는 / * * /를 사용하되 일관성 있게 사용한다. 되도록 //를 사용한다. 주석의 내용과 위치, 작성 방식에 일관성을 가져야 한다. 파일 주석 모든 파일의 시작 부분에는 라이선스 문구를 작성하고 그 뒤에 내용에 대한 설명을 작성한다. 라이선스 모든 파일은 라이선스 문구를 퐇마한다. 또는 동일 라이선스 범위를 ..

[ Coding Style Guide ] 04. C언어 - 변수범위

변수 범위 변수의 범위를 적절히 조점함으로써 코드의 가독성이나 성능을 높일 수 있다. 지역 변수 함수 내 변수는 가능한 한 좁은 범위에 둔다. C99 이상에서는 함수 어디에서나 변수 선언을 할 수 있지만, 변수를 가능한 한 국한된 범위로 선언하고 최대한 첫 번째 사용처에 가깝게 선언한다. 이는 읽는 사람이 선언을 찾고 변수의 타입과 초기값을 알아내는 것을 쉽게 한다. 되도록 선언과 동시에 초기화 한다. // 나쁨 - 선언과 초기화가 분리되어 있다. int i; i = f(); // 좋음 - 선언과 동시에 초기화 된다. int j = g(); for, if, while 문에서 조건검사에 사용되는 변수는 되도록 해당 라인에서 변수를 선언한다. 이 경우 해당 변수명은 코드의 다른부분에서 재 선언 가능하다. f..

[ Coding Style Guide ] 03. C언어 - 서식

서식 코딩 시 모두가 통일된 스타일을 사용하면 프로젝트를 파악하기 쉬워진다. 각자가 모든 서식 규칙에 동의하기 어렵고, 일부는 익숙해지는데 시간이 걸리지만, 프로젝트 구성원들이 규칙에 따라 코드를 작성함으로써 서로의 코드를 쉽게 이해하도록 하는 것은 중요하다 줄 길이 코드의 각 줄은 120 문자를 넘지 않게 한다. 문자형식 문자는 되도록 ASCII 문자를 사용하고, ASCII가 아닌 문자를 사용할 경우에는 UTF-8 형식을 사용한다. 들여쓰기 단계 당 2개의 스페이스로 들여쓰기(indentation) 하고 탭은 사용하지 않는다. 코드 상의 그 어디에서도 탭을 사용하지 않는다. 중괄호 중괄호로 묶이는 모든 코드블럭에서, 각 중괄호 "{", "}"는 구문에 따라 같은 줄에 작성하거나 줄바꿈하여 작성한다. /..

[ Coding Style Guide ] 02. C언어 - 헤더파일

헤더파일 헤더파일을 바르게 사용하는 것으로 코드의 가독성과 크기, 성능에 큰 차이를 만들 수 있다. define guard 헤더파일이 중복 포함되는 것을 방지하기 위해, 모든 헤더파일 내에 #define 가드를 사용한다 #define 가드의 형식은 ____H_이며, 는 프로젝트 소스 디렉토리로부터의 하위경로로 표시된다. // foo/src/bar/baz.h #ifndef FOO_BAR_BAZ_H #define FOO_BAR_BAZ_H #endif // FOO_BAR_BAZ_H 인라인 함수 10줄 이하이면서 for, while, switch 문을 포함하지 않은 함수만 인라인 함수로 정의한다. -inl.h 파일 복잡한 인라인 함수의 정의로 인해 헤더파일이 지저분해질 경우, 인라인 함수만 정의하는 -inl.h..

[ Coding Style Guide ] 01. C언어 - 이름규칙

아래는 소프트웨어 개발 시 준수해야 하는 코딩 스타일을 정의하고 가이드한다. C언어를 대상으로 하고 있으며 C99표준이 적용된다. ( 추후 C11 등 최신 표준으로 변경 적용 가능하며, 이에 따라 본 문서의 내용이 일부 변경될 수 있다.) 해당 가이드는 구글 C++ 코딩 스타일 가이드를 기반으로 필요에 따라 일부 내용을 수정, 변경하여 적용하였다. 이름규칙 일관성을 위해 가장 중요한 것은 이름 규칙을 따르는 것이다. 이름의 스타일을 통해 요소의 선언을 찾지 않고도 해당 요소가 타입인지, 변수인지, 함수인지, 상수인지, 혹은 매크로인지 바로 알 수 있다. 이름 규칙은 개인의 선호도보다 일관성이 더 중요하다. 합리적이라고 생각하든 아니든 규칙은 지켜야 한다. 일반 함수 이름, 변수 이름, 파일 이름은 약어를..

[ Coding Style Guide ] 00. 코딩 명명법

--오랜만의 포스팅이다.. 회사 프로젝트로 바빠 업로드 하지 못한 나 자신을 반성합니다-- 프로젝트를 진행하면서 선언하는 변수명,함수명,클래스명 등 여러가지 이름들의 명명법에는 규칙이있다. 대표적으로 카멜표기법, 파스칼표기법, 스네이크 표기법이 있는데 하나씩 알아보겠다. 카멜(Camel) 표기법 int manAge; int womanAge; int peopleAge(int man, int woman) { return man + woman; } 변수명과 함수명을 카멜표기법으로 작성한 예이다. 카멜표기법은 낙타등처럼 내려갔다 올라가는 모양인데 woman+age 처럼 단어 여러개가 붙을때 맨 앞에오는 단어만 소문자로 표기하고, 뒤에오는 단어는 대문자로 표기하는 방법이다. (세단어 이상일경우도 맨앞만 소문자) ..