이 스타일은 어떤 유형의 스타일에 어색합니까?


9

다른 프로그래머 코드를 읽을 때, 그는 본 적이없는 형식을 사용합니다. EG

    namespace MyNs.HereWeAre
         {//tab here for some reason
         public class SomeClass
               {//here's another tab
               public string Method()
                    {//yet another tab
                    string _variable = "";//no tab implementation
                    return _variable;
                    }
               }//eof - class  (Yes these eof comments are on every file)
        }//eof - namespace
// eof - file

인정할 것이다 ...이 코드는 나를 화나게한다. 이 스타일을 달성하기는 어렵습니다. IDE에서 제공하는 기본 형식 인 Visual Studio와 싸워야합니다.

이 스타일에 대한 합당한 이유가 있음을 알면이 약을 조금 더 쉽게 삼킬 수 있습니다. 이 스타일은 다른 프로그래밍 언어 / IDE에서 비롯된 것입니까?


5
그것은 기괴한 일입니다. 18 년간의 개발 과정에서 나는 그런 컨벤션을 본 적이 없습니다.
15 of

5
내가 추측해야한다면, 프로그래머는 중괄호가 전혀 필요없고 약간의 구문 하위 토큰을 들여 쓰는 데 사용되는 Python 변환 자라고 말할 것입니다.
Telastyn

21
CTRL K + CTRL D!
RYFN

2
@ Zeus-오 이런 세상이 틀에 박힌 형식을 해결하는 데 많은 시간을 절약 할 것입니다 !! 이에 대한 답을 얻을 수 있습니다.
P.Brian.Mackey

1
이 형식 재 지정 바로 가기 (Ctrl K + Ctrl D)는 Visual Studio의 HTML 파일 및 기타 형식에서도 작동합니다.
오디드

답변:


19

예 : http://en.wikipedia.org/wiki/Indent_style#Whitesmiths_style

Wishart 스타일이라고도 불리는 Whitesmiths 스타일은 오늘날 덜 일반적입니다 ... 원래는 최초의 상용 C 컴파일러 인 Whitesmiths Compiler 의 문서에서 사용되었습니다 . 또한 Windows 초기에는 인기 가 많았습니다. Durant Windows 용 프로그래머 안내서 , Carlson & Yao, Petzold의 Windows 프로그래밍 , Norton & Yao의 Windows 3.0 전원 프로그래밍 기술에서 사용 되었습니다. .

이 스타일은 다음 줄에 제어문과 연관된 중괄호를 들여 쓰기합니다. 중괄호 안의 문장은 중괄호와 같은 수준으로 들여 쓰기됩니다.

이 스타일의 장점은 블록이 제어문과 명확하게 구분된다는 점 에서 Allman 스타일 의 장점과 유사 합니다. 그러나 Whitesmiths 스타일을 사용하면 공백으로 둘러싸인 관련되지 않은 코드 블록처럼 보이지 않고 블록이 여전히 제어문에 시각적으로 연결됩니다. 또 다른 장점은 블록과 중괄호를 정렬하면 전체 블록이 개념적으로 (및 프로그래밍 방식으로) 단일 복합 명령문이라는 사실을 강조한다는 것입니다. 또한 중괄호를 들여 쓰기하면 제어문에 종속됨을 강조합니다.

이 스타일의 제안 된 단점은 끝 괄호가 더 이상 개념에 속하는 명령문과 일치하지 않는다는 것입니다. 그러나 닫는 중괄호는 제어문이 아닌 여는 중괄호에 속합니다 ...

그래도 연습 한 적이없는 IPU입니다.

Eclipse에는 c ++ 용 Whitesmith 코드 스타일이 내장되어 있습니다. 모든 사람이 해당 언어에서 동일한 스타일을 사용해야하기 때문에 Java와 망할 수 있습니다.


4
"음 IPU"가 무슨 뜻입니까? 구글은 말하지 않을 것이다 ...
amara

4
보이지 않는 핑크 유니콘. en.wikipedia.org/wiki/Invisible_Pink_Unicorn
Scott C Wilson

화이트 스미스 스타일의 줄 끝에 탭이 포함되어 있지 않습니다. 줄의 시작 부분을 제외한 모든 곳의 탭은 사악하며 불로 죽여야합니다.
tdammers

6

동료의 코딩 스타일은 기괴하고, 추악하고 읽기 어렵습니다.

  1. 코딩 표준이없는 경우 형식이 다른 형식으로 유효합니다.

  2. 파일을 작성할 때마다 코드를 다시 포맷하면 변경 사항을 추적하기가 매우 어려워집니다. VCS를 사용하여 diff를 수행하면 모든 코드 줄이 변경되지는 않았지만 많은 경우가 있습니다.

이것이 바로 코딩 표준을 갖추어야하는 이유입니다. 모든 사람들이해야 할 일을보다 쉽게 ​​알 수 있고,이를 고수하지 않은 경우 다시 포맷하는 것을 정당화 할 수 있습니다.

그들이 여전히 회사에서 일하고 있다면 그것에 대해 이야기 해 보셨습니까?


이 사람은 오랫동안 내 시간에 사라졌어 이제 Microsoft 프레임 워크 디자인 지침을 따릅니다.
P.Brian.Mackey

9
이 경우 변경 사항을보다 쉽게 ​​추적 할 수 있도록 변경하기 전에 별도의 체크인 (예 : Ctrl K + Ctrl D)으로 코드 형식을 체크인하는 것이 좋습니다.
Brian
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.