2012-09-30 4 views
0

에서 괄호 나 자신 자바를 가르치고 이유로 나는 항상 내가 보는 모든 예제는나쁜 컨벤션이나 문제가 있습니까? 자바

void method(){ 
    if(true){ 
     //code 
    }else{ 
     //code 
    } 
} 

사람은 알고 있나요 경우

void method() 
{ 
    if(true) 
    { 
     //code 
    } 
    else 
    { 
     //code 
    } 
} 

으로 브래킷을 쓴 기억이 안나요 이유가 마치 그것이 마치 내가 그것을 쓰는 방식을 바꾸는 어떤 이유가있는 것입니까? 나는 그것을 읽는 것이 더 쉽다고 생각한다.

+0

이것은 Stackoverflow의 질문이 아닙니다. 두 번째 변형은 대부분 코드의 일부 줄을 저장하기 때문에 주로 사용됩니다. –

+0

IMHO 가독성은 동일하지만 줄이기가 적어서 2 옵션이 향상됩니다. – Pshemo

+1

모두 기본 설정입니다. 개인적으로 나는 조금 더 작기 때문에 후자의 방식을 좋아하지만 (이것은 중괄호 앞에 공백이 있음), 이것은 실제로 선호도 (그리고/또는 회사의 코딩 표준, 해당되는 경우)의 문제 일뿐입니다. – nneonneo

답변

4

이 그 중 하나입니다

당신이에 따라 사용하면 다른 스타일 Kernel Normal Form (KNF)

+0

감사합니다. 흥미로운 기사입니다. –

2

의 예이지만 코드가 Allman Style

라고 들여 쓰기 방법 "에는 정답이 없다" Sun은 K & R 스타일의 변형 인 Sun이 제안합니다. 그러나 프로젝트 내에서 일관성이 있다면 코드를 읽는 것이 더 좋은 한을 제외하고는 중요하지 않습니다. 그러나 큰 문제는 아닙니다.

http://en.wikipedia.org/wiki/Indent_style

0

만큼 자바 스크립트를 사용하면 포트 자바 프로젝트, 당신은 괜찮을거야 경우 첫 번째 형식을 피할 수있다.
JavaScript에서는 세미콜론을 놓친 경우 컴파일러에서 자동으로 삽입하려고 시도합니다.
짐작할 수 있듯이, 이것은 때때로 디버깅 - 우스꽝 스러움으로 이어질 수 있습니다. 일반적으로 세미콜론을 삽입 할 때 세미콜론을 사용하지 않고 세미콜론을 사용합니다. 그러나 모든 엣지 케이스를 배우지 말고 그냥하지 마십시오.

그러나 Java의 경우 은 자신을 노크합니다..
컴파일러는 명령문을 끝내지 않으면 비명을지를 것이므로 할당 및 제어 블록이 무엇인지 혼동하지 않을 것입니다.

1

둘 다 유효하고 허용되는 스타일이지만 두 번째는 단순히 공간을 절약하기 위해 예제 (웹, 서적 등)에서 더 일반적입니다.