K&R, BSD, GNU 코딩스타일

2023. 12. 26. 18:43 기타 정보/ETC

 

BSD, K&R 코딩 스타일

bsd와 k&r의 가장큰 차이는 중괄호( {} )의 위치입니다. 

 

1. K&R 코딩 스타일

여는 블록을 조건에 한 줄로 같은 행에 배치합니다. 코드 줄 수를 절약하여 한눈에 많은 코드를 작성할 수 있습니다.

BSD 스타일로 작성한 코드를 K&R 스타일로 동일하게 작성해 보겠습니다.

if(조건){
   처리 로직
}

 

예시)

if(d == 1){	
   if(b == 1){
      처리로직	
   }else{
      처리로직
   }
}

 

 

2. BSD 스타일

 BSD는 줄간격이 한눈에 들어오지만 단점은 코드가 길어진다는 단점이 있습니다.

if(조건)
{
   처리로직
}

 

예시) 

if(d == 1)
{	
   if(b == 1)
   {
      처리로직	
   }
   else
   {
      처리로직
   }
}

 

3. GNU 코딩 스타일

블록을 조건문 아래에 작성합니다. 블록이 속한 블록임을 분명히 표시하여 구조가 잘 보입니다. 하지만 들여 쓰기를 많이 해서 처리하기에 수평으로 많은 코드를 작성할 수 없습니다.

위에서 작성한 동일한 코드를 예시로 들어 보겠습니다.

그리고 개인적으로 많은 사람들의 코드를 보아왔지만 이런 스타일로 작성하는 분은 아직 못 봤습니다.

if(조건)
    {
      처리 로직
    }

 

예시)

if(d == 1)
    {	
      if(b == 1)
         {
           처리로직	
         }
         else
         {
           처리로직
         }
    }

 

 

참고 :

https://namu.wiki/w/%EC%BD%94%EB%94%A9%20%EC%8A%A4%ED%83%80%EC%9D%BC