2009-05-21 6 views
5

가능한 중복 : 개인적인 취향 게다가
Formatting of if Statements
Is there a best coding style for identations (same line, next line)?
Best way to code stackoverflow style 'questions'/'tags' rollover buttons브래킷 배치가 가독성에 영향을 줍니까?

public void Method { 

} 

또는

public void Method 
{ 

} 

어떤 혜택이 다른 스타일보다 한 스타일의? 나는 두 번째 방법으로 맹세 했었지만 이제는 일과 개인 프로젝트에 첫 번째 스타일을 사용합니다. 등이 ... 코드 수의

+0

이미 http://stackoverflow.com/questions/159366/is-there-a-best-coding-style-for-identations-same-line-next-line에 ad-nauseam이라고 설명했습니다. – Kena

+4

vi 또는 emacs가 프로그래밍에 더 적합한 지 여부와 관련된 질문을하십시오. – Kevin

+0

http://stackoverflow.com/questions/249432/whats-the-reasoning-behind-the-different-brace-forms – Kena

답변

5

나는 완전히 주관적이라고 생각하지만, 팀의 코드 표준을 설정하고 모든 사람들이 동일한 스타일을 사용하도록하는 것이 중요하다고 생각합니다. 그것이 내가 당신의 코드가 아닌데 읽을 때 더 쉽게 보이기 때문에 나는 두 번째 것을 좋아한다고 말하고있다.

1

귀하의 라인이 상당히 적은 첫 번째 옵션과 함께있을 것입니다/다른 경우 -

가독성으로 나는 그 방법에 코드를 상상 의미한다. :)

+0

그래서 하루에 얼마나 많은 라인을 생산하여 성능을 측정한다면 ... –

3

첫 번째는 항상 정렬이를 가지고 이럴 읽기 쉽게,

두 번째는 (책 -Java- 개발이 구문을 사용하는 경향이 이유는 아마도 즉) 라인의 수로 작은 괄호.

어쨌든 둘 다 널리 사용되며 개인의 취향에 달려 있습니다.

5

예전에는 화면이 작아서 종이라는이 항목에 코드가 인쇄되기 때문에 예전에는 처음 스타일 (K & R 스타일)을 사용했습니다.

요즘 우리는 큰 화면을 가지고 있으며 두 번째 방법 (ANSI 스타일)은 대괄호가 일치하는지 쉽게 확인합니다.

자세한 내용은 HEREHERE을 참조하십시오.

1

나는이 매우 감정적 인 주제에서 논리적 인 이유로 if 문을 사용합니다.

if (cond) { 
    //code 
} 

그냥 else 문이 어떻게 보이는지 묻습니다. 위의 논리적 확장은 다음과 같습니다. -

if (cond) { 
    //code 
} else { 
    //more code 
} 

읽을 수 있습니까? 나는 그렇게 생각하지도 않으며 평범하지도 않다.

더 많은 줄이 있습니다! 따라서 저는 후자의 선택을 할 것입니다.

+0

Perl 코드는 "if (cond) {\ n \ t ... ... \ n} \ n else \\ \ t ... \ n}"인 경향이 있습니다. 간결하고 붐비는 . – ephemient

7

Google C++ Style Guide 기능 이름과 같은 줄에

반환 유형을 제시, 같은 줄에 매개 변수는이 적합합니다.

함수는 다음과 같다 : 장소의 각 행에 괄호 :

ReturnType ClassName::FunctionName(Type par_name1, Type par_name2) { 
    DoSomething(); 
    ... 
} 

WebKit Coding Style Guidelines

기능 정의를 제시한다.

오른쪽 :

int main() 
{ 
    ... 
} 

잘못된 :

int main() { 
    ... 
} 

그들은하지만, 중괄호 - 온 - 같은 라인 다른 모든 것들에 대한 제안.


GNU Coding Standards 그들이 defun는 시작할 수 있도록, 열 하나의 C 함수의 본문을 시작하는 오픈 중괄호를 넣어하는 것이 중요하다

을 제안합니다. 몇몇 도구는 C 펑크 션의 시작을 찾기 위해 열 1에 열린 괄호를 찾습니다. 이러한 도구는 형식이 지정되지 않은 코드에서는 작동하지 않습니다.

열린 중괄호, 열린 괄호 또는 열린 대괄호는 함수 안에있을 때 열 1에 넣지 마십시오. 이렇게하면 defun이 시작되지 않습니다. 구조체를 시작하는 오픈 브레이스 (open-brace)는 그 정의를 defun으로 취급하는 것이 유용하다면 1 열로 갈 수 있습니다.

함수 정의가 첫 번째 열에서 함수의 이름을 시작하는 것도 중요합니다. 이는 사람들이 함수 정의를 검색하는 데 도움이되며 특정 도구가 함수 정의를 인식하는 데 도움이 될 수 있습니다. 당신으로

static char * 
concat (s1, s2)  /* Name starts in column one here */ 
    char *s1, *s2; 
{      /* Open brace in column one here */ 
    ... 
} 

: 당신은, 기존의 C 구문을 사용과 같은 정의를 포맷 할 경우,

static char * 
concat (char *s1, char *s2) 
{ 
    ... 
} 

나 : 따라서, 표준 C 구문을 사용하여 형식이있다 모두가 자신의 의견을 갖고 있음을 알 수 있습니다. 개인적으로, 필자는 else을 제외하고는 Perl-ish-brace-on-same-line을 선호하지만, 코드 작업을하는 모든 사람들이 협조 할 수 있다면 정말 중요하지 않습니다.

1

개인적으로 나는 두 번째가 더 읽기 쉽다는 것을 안다.

팀이 기본값을 사용하는 것이 가장 쉽고, Visual Studio와 내가 이에 동의하기 때문에 내 주장이 맞습니다. ;-)

+0

VS __defaults__가 (가) 더 정확하려면 동의해야하지만 환경 설정에 맞게 조정할 수 있습니다. 약간 이상한 점은 VS의 기본 서식 구성이 서식 파일에서 사용되는 서식과 다른 경우가 많다는 것입니다. – AnthonyWJones

+0

@AntonyWJones 예, 우리는 기본값을 사용하는 것에 동의합니다 ...--) 그리고, 그렇습니다. 왜 표준을 따르지 않는가? –

관련 문제