본문으로 바로가기

[프로그래밍] 코딩 스타일

category 프로그래밍 2021. 4. 18. 11:33
728x90
반응형

코딩 스타일에 관심이 많아서 이것저것 찾아보니 표준화된 것들이 많이 보였습니다.

코딩 스타일에는 정답이 없습니다.

저 또한 저만의 스타일이 있고, 각자에 대한 스타일이 있을거고...

회사만의 스타일이 있을것이고... 그렇습니다.

이것은 자신의 포지션에 따라서 맞춰 가면 되는 것입니다.

그러나 이것은 상당히 중요합니다.

궁극적으로는 유지보수를 용이하게 하기 위해서 스타일의 통일성/필요성은 규칙이 정해졌습니다.

오늘은 각각의 코딩 스타일에 대해서 한번 분석해보았습니다.


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. 들여쓰기

들여쓰기에 따라서도 나뉠 수 있습니다.

탭을 쓰는 방법, 스페이스로 하는 방법도 개발자 사이에서 논쟁이 되곤 합니다.

탭을 사용하면 한번으로 끝이고, 스페이스는 할때마다 몇번이고 눌러야되기 때문에 불편할 수 있다는 의견이 있습니다.

그러나 탭을 사용하는 것보다 스페이스를 사용하게되면 한 라인의 길이가 짧아져서 보기 좋다는 의견도 있습니다.


오늘 포스팅은 여기까지 하겠습니다.

감사합니다.

728x90
반응형

'프로그래밍' 카테고리의 다른 글

[프로그래밍] BLOB 이란?  (0) 2023.09.20
[프로그래밍] 어셈블리어  (0) 2021.04.15