코딩 스타일에 관심이 많아서 이것저것 찾아보니 표준화된 것들이 많이 보였습니다.
코딩 스타일에는 정답이 없습니다.
저 또한 저만의 스타일이 있고, 각자에 대한 스타일이 있을거고...
회사만의 스타일이 있을것이고... 그렇습니다.
이것은 자신의 포지션에 따라서 맞춰 가면 되는 것입니다.
그러나 이것은 상당히 중요합니다.
궁극적으로는 유지보수를 용이하게 하기 위해서 스타일의 통일성/필요성은 규칙이 정해졌습니다.
오늘은 각각의 코딩 스타일에 대해서 한번 분석해보았습니다.
1. 괄호의 위치에 따른 코딩스타일
괄호에 따라서 대표적으로 3가지 코딩스타일이 있습니다.
1) GNU
ex )
if ( )
{
func();
}
괄호 블록을 if문 아래에 작성합니다.
그러나 괄호는 한번 들여쓰기를 합니다.
2) K & R
if () {
func();
}
C 언어의 창시자들이 사용했던 스타일이라고 합니다.
if문과 괄호를 여는 것을 같은행에 배치합니다.
1) 방법보다는 1줄 코드 줄 수를 절약하게 됩니다.
기본 포맷으로 많이 씁니다.
3) BSD
if ()
{
func();
}
저는 이것을 씁니다.
블록에 대한 구분이 좀 명확하고, 수평으로 조금도 긴 코드를 작성할 수 있습니다.
일반적으로 코딩했을 경우 GNU와 BSD가 K & R에 비해서 라인 수가 많아 집니다.
코드를 인쇄하여 전달할 경우, 단점이 됩니다.
제가 예전에 봤었던 C언어 책을 보면 대부분 K & R로 많이 되어 있었습니다.
그만큼 보편화가 제일 잘 되어있는 스타일이라고 볼 수 있습니다.
2. 명명에 따른 스타일
변수나 함수의 이름에 따라서도 몇가지 코딩스타일이 나뉘게 됩니다.
각 언어마다 권장되고 있는 것이 있긴 하지만, 이것 또한 정해진건 없습니다.
1) 카멜
ex) isTrue, paserStr(); 등
여러 단어를 연달아 사용할 경우 첫 글자를 대문자로 적고, 맨 앞의 글자는 소문자로 표기하는 방법입니다.
예시를 봤을 때, 낙타의 혹같다고해서 지어진 명칭입니다.
여기서 한가지 추가를 하자면 특정 식별자 등의 이름이 들어가는 경우는 아래와 같이 사용합니다.
ex) inputJSON(); 등
2) 파스칼
ex) IsTrue, ParserStr(); 등
이 방법 또한 카멜과 비슷합니다.
그러나 맨 앞의 글자는 대문자로 표기를 합니다.
쌍봉낙타 표기법이라고도 불립니다.
3) 스네이크
ex) is_true, parser_str(); 등
단어와 단어 사이에 언더바를 붙이는 방법입니다.
저는 이 방법을 주로 사용합니다.
4) 헝가리
ex ) strAddress, bTrue 등
접두어에 자료형을 붙이는 방법입니다.
이 방법은 많이 사용되지 않는 방법이긴 하지만, 대기업에서도 가이드 문서로 나온 경우가 있어, 쓰는 곳도 있습니다.
3. 들여쓰기
들여쓰기에 따라서도 나뉠 수 있습니다.
탭을 쓰는 방법, 스페이스로 하는 방법도 개발자 사이에서 논쟁이 되곤 합니다.
탭을 사용하면 한번으로 끝이고, 스페이스는 할때마다 몇번이고 눌러야되기 때문에 불편할 수 있다는 의견이 있습니다.
그러나 탭을 사용하는 것보다 스페이스를 사용하게되면 한 라인의 길이가 짧아져서 보기 좋다는 의견도 있습니다.
오늘 포스팅은 여기까지 하겠습니다.
감사합니다.
'프로그래밍' 카테고리의 다른 글
[프로그래밍] BLOB 이란? (0) | 2023.09.20 |
---|---|
[프로그래밍] 어셈블리어 (0) | 2021.04.15 |