왜 이렇게 많은 코드가 있습니까?

 

사람들이 코드를 게시할 때 이것을 많이 봅니다.

if (a==b){
Dothis;
Dothis;
etc;
}

이제 이것은 다른 사람의 코드의 짧은 부분을 읽을 때 문제가 되지 않습니다.

그러나 코드가 많으면 따라가기가 거의 불가능할 수 있습니다.

많은 사람들이 자신의 코드에서 오류를 찾는 데 어려움을 겪을 것이라고 생각합니다.

왜 안 돼?

 if (a==b)
{
Dothis
Dothis
etc
}

//Or

if (a==b)
  {
  Dothis
  Dothis
  etc
  }

 

이전 스타일( K & R 스타일 )에는 아무런 문제가 없습니다(들여쓰기만 하면 됨). 이러한 유형의 구문을 사용하는 언어(C, Java, Perl)에서 많이 사용됩니다.

예를 들어, Java 표준이며 상당히 읽기 쉬운 IMO입니다(올바른 들여쓰기만 하면 됨). [ mql4는 C 스타일 구문에서 많이 차용하므로 이러한 다른 언어를 언급하는 것이 적절하다고 생각합니다.]

하지만 들여쓰기를 해야 합니다.


 if (a==b){
   Dothis;
   Dothis;
   etc;
}


두 번째 예( Allman 스타일 )도 일부에서는 선호하며 일반적으로 더 읽기 쉽게 동의합니다(다시 올바른 들여쓰기 사용).


 if (a==b)
{
   Dothis;
   Dothis;
   etc;
}

그러나 당신이 무시하는 것처럼 보이는 방법은 다른 곳에서 꽤 유명합니다(가독성을 위해)

후자의 예는 전혀 마음에 들지 않습니다.

 

allman 스타일은 특히 복잡한 if else 트리에서 누락된 중괄호를 식별하기 더 쉽습니다.

 

중괄호 스타일은 프로그래머가 선호하는 것이며 실제로 옳고 그른 방법은 없습니다. K&R 스타일이 최고 ;-). 여는 중괄호에 추가 줄을 추가해야 하는 이유 .... 내가 정말로 관심을 갖는 것은 그것이 속한 if{statement}입니다. 보기에 더 좋고 이해하기 쉬운 예를 들어 보십시오.

 if (.............................)
    {
     if (.............................)
        {
         if (.............................)
            {
             if (.............................)
                {
                 if (.............................)
                    {
                     if (.............................)
                        {
                         if (.............................)
                            {
                             if (.............................)
                                {
                                 if (.............................)
                                    {
                                     if (.............................)
                                        {
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

또는 이 버전:

 if (.............................){
     if (.............................){
         if (.............................){
             if (.............................){
                 if (.............................){
                     if (.............................){
                         if (.............................){
                             if (.............................){
                                 if (.............................){
                                     if (.............................){
}   }   }   }   }   }   }   }   }   }

그리고 더 나아졌습니다.

 if ( !.............................) return
if ( !.............................) return
if ( !.............................) return
if ( !.............................) return
if ( !.............................) return
if ( !.............................) return
if ( !.............................) return
if ( !.............................) return
if ( !.............................) return
if ( !.............................) return
이모, 마지막 버전이 실제 쓰는 방식에 더 자연스럽게 느껴집니다. 한 줄씩.
 

나는 이것을 이렇게 한다:

 if (.............................)
{ if (.............................)
 { if (.............................)
  { if (.............................)
   { if (.............................)
    { if (.............................)
     { if (.............................)
      { if (.............................)
       { if (.............................)
        { if (.............................)
}}}}}}}}}
 

나는 토론을 좋아한다.

그리고 else 문을 코딩할 때 선호도는 어떻습니까 ? 일부 편집자는 이러한 블록을 접거나 펼 수 없지만 첫 번째 예를 선호합니다. 두 번째는 타협입니다. 세 번째는 훨씬 더 일관성이 있지만 읽을 수 없습니다.

 if (cond) {
   command;
} else if (cond) {
   command;
} else {
   command;
}

또는

 if (cond) {
   command;
}
else if (cond) {
   command;
} 
else {
   command;
}

또는

 if (cond) {
   command;
} 
else {
   if (cond) {
      command;
   }   
   else {
      command;
   }  
}
 
어느 정도는 중요하지 않습니다. 중요한 것은 선택한 스타일을 적용하는 일관성입니다. . . 우리 모두는 물론 우리 자신의 선호도가 있습니다
 

나는 더 이상 많이 사용하지 않습니다. 얼마 전에 다른 것을 강제로 사용하게 된 문제가 하나 있었습니다(문제가 기억나지 않음). 다른 것을 사용했을 때는 이런 식이었습니다.

 if (cond) { command; } else 
if (cond) { command; } else {
   command;
}

그러나 이제 위와 같은 코딩에 대해 처음으로 가르쳤습니다.

 if ( cond ){ command; return; }
if ( cond ){ command; return; }
command;

예, three_line 코드를 함수 로 변환하겠습니다. 8)))

 
SDC :

나는 다른 사람이 좋아한다면

개인적으로 나는 그것이 진흙처럼 깨끗하다고 생각합니다.
 
RaptorUK : 개인적으로 진흙처럼 맑습니다.
그냥 눈이 아파요 :{
 
RaptorUK :
어느 정도는 중요하지 않습니다. 중요한 것은 선택한 스타일을 적용하는 일관성입니다. . . 우리 모두는 물론 우리 자신의 선호도가 있습니다

랩터에 동의합니다. 아무것도에 대한 주제. 사람들이 SRC를 사용하지 않고 여기에 코드를 게시할 때 훨씬 더 좌절합니다. 그들이 도움을 요청 하지 않는 한 프로그램을 코딩하는 방법은 그들에게 달려 있습니다.