자바 프로 그래 밍 규범 (2)

4377 단어
지난 편의 자바 프로 그래 밍 규범 (1) 에서 우 리 는 자바 인 코딩 에서 의 일반적인 원칙 을 이야기 했다. 비록 이러한 원칙 들 은 구체 적 인 코드 규범 과 관련 되 지 않 지만 이런 원칙 들 은 우리 가 자바 개발 과정 에서 지 켜 야 할 규범 과 사상 이다.오늘 우 리 는 구체 적 인 코드 작성 과 관련 된 형식 규범 을 배 울 것 이다.
2. 격식 규범
(1) 끼 워 넣 은 코드
코드 의 가 독성 을 강화 하기 위해 서 우 리 는 항상 일부 단독 문 구 를 어구 블록 으로 구성 하고 각 블록 을 통일 적 으로 들 여 주변 코드 와 분리 시킨다.
1. 만약 에 우리 가 개발 환경 을 사용한다 면 우 리 는 개발 환경 이 제공 하 는 들 여 쓰기 스타일 을 사용 할 수 있 습 니 다.그러나 우리 가 손 으로 쓴 코드 라면 빈 칸 두 개 를 사용 해 야 합 니 다.
class MyFuction {
··void function(int arg) {
····if (arg < 0) {
······for (int i = 0; i <= arg; i++) {
········//  ...
······}
····}
··}
}

2. 블록 문장의 시작 부분 에 있 는 큰 괄호 는 블록 문 구 를 도입 하 는 줄 의 마지막 에 두 어야 합 니 다. 끝 에 있 는 큰 괄호 는 한 줄 을 독점 하고 포 함 된 문 구 를 도입 하 는 줄 의 첫 번 째 자모 와 정렬 해 야 합 니 다.우리 가 일상적으로 사용 하 는 코드 규범 은 다음 과 같다. 클래스 정의:
public class MyClass {
  ...
}

내부 클래스 정의:

public class OuterClass {
  ···
  class InnerClass {
    ...
  }
}

방법 정의:
void method(int j) {
  ···
}

for 순환 문:
for (int i = 0; i <= j; i++) {
  ···
}

if - else 구문:
if (j < 0) {
  ···
}
else if ( j > 0) {
  ···
}
else {
  ···
}

try, catch, finally 블록:
try {
  ···
}
catch {
  ···
}
finally {
  ···
}

switch 구문:
switch (value) {
  case 0:
    ···
    break;
  default:
    ···
    break;
}

while 구문:
while (a < b) {
  ···
}

do - while 구문:
do {
  ···
} while (a < b);

한 팀 의 업무 효율 을 높이 기 위해 서 는 각 팀 원 들 이 각자 코드 의 축 진 량 과 스타일 을 임의로 선택 하지 않도록 통 일 된 표준 의 축 진 규칙 을 제정 하고 팀 의 모든 사람 이 이 기준 을 따 르 도록 해 야 한다.
(2) 긴 문장 을 끊다.
창 화 된 현대 편집기 에 서 는 가로 스크롤 바 를 이용 하여 긴 단일 코드 를 읽 을 수 있 습 니 다.그러나 프린터 는 최대 인쇄 폭 을 초과 하 는 문 구 를 자 르 거나 줄 을 바 꾸 거나 다른 페이지 에 인쇄 합 니 다.따라서 각 줄 코드 의 길 이 를 인쇄 환경 이 지원 하 는 최대 너비 로 제한 하려 면 이 값 은 보통 80 또는 132 글자 입 니 다.
1. 최대 수용 폭 을 초과 하지 않도록 여러 문 구 를 같은 줄 에 두 지 마 세 요.한 줄 에 한 문장 씩 놓 아야 한다.
//       
double x = Math.random(); double y = Math.random();

//         
double x = Math.random();
double y = Math.random();

2. 한 줄 코드 에 복잡 한 표현 식 이 포함 되 어 있다 면 몇 개의 짧 은 하위 표현 식 으로 나 누 어야 합 니 다. 각 하위 표현 식 의 연산 결 과 는 임시 변수 에 저장 되 고 한 줄 에 따로 놓 아야 합 니 다.
//          
double length = Math.sqrt(Math.pow(Math.random(),2.0),Math.pow(Math.random(),2.0));

//           
double x = Math.pow(Math.random(),2.0);
double y = Math.pow(Math.random(),2.0);
double length = Math.sqrt(x + y);

(3) 공백 사용
공백 은 페이지 에 보 이 는 문자 가 없 는 영역 입 니 다.코드 에 공백 이 너무 적 으 면 읽 기와 이해 가 쉽 지 않 기 때문에 충분 한 공백 을 사용 하여 방법, 주석, 코드 블록 과 표현 식 을 분명하게 보 여 줘 야 합 니 다.
1. 다음 의 경우 단일 공백 으로 구분 합 니 다. (1), 오른쪽 괄호 ') 또는 그 다음 의 키 워드 를 사용 합 니 다.키워드 와 그 뒤 를 따 르 는 왼쪽 괄호 '(' 또는 '{', 오른쪽 괄호 ')' 와 그 뒤 를 따 르 는 왼쪽 괄호 '{'. 사실 세심 한 독자 들 은 상기 내용 의 소개 에서 이러한 규범 이 이미 응용 되 었 음 을 발견 할 수 있 으 므 로 여기 서 더 이상 언급 하지 않 는 다.
if (j < 0) {
  ···
}
else if ( j > 0) {
  ···
}
else {
  ···
}

(2) "." 를 제외 한 연산 자 와 앞 뒤의 표현 식 사이.
double length = Math.sqrt(x * x + y * y);
double x = length > 0.0 ? (x / length) : x;

2. 다음 과 같은 상황 은 빈 줄 로 구분 해 야 한다. (1) 모든 논리 적 으로 독립 된 방법 으로 실현 해 야 한다.
void handleInfo(Message message) {

  DataInput content = message.getDataInput();
  int messageType = content.readInt();
  
  switch (messageType) {
    
    case warning:
      ...
      break;
      
    case error:
      ...
      break;
      
      default:
        ...
        break;
  }
}

(2) 클래스 나 인 터 페 이 스 를 정의 할 때 각 구성원 간 에 빈 줄 을 사용 합 니 다.
public class Car {
  
  class InnerCar {
    ...
  }
  
   private Bar bar;
   
   Foo(Bar bar) {
     this.bar = bar;
   }
}

(3) 원본 파일 에서 각 클래스 와 인터페이스의 정의 사이 에 빈 줄 을 사용 해 야 합 니 다.
interface Paly {
  ...
}
  
public class Person implements Play{
  ...
}

(4) Tab 컨트롤 러 를 직접 사용 하지 마 세 요.
서로 다른 환경 에서 Tab 제어 문자 에 대한 해석 도 다 릅 니 다. 코드 의 형식 은 원래 의 편집 환경 에서 정확 하고 틀 리 지 않 을 수 있 습 니 다. 그러나 다른 Tab 제어 문자 에 대해 서로 다른 해석 을 가 진 시스템 에 넣 으 면 형식 이 혼 란 스 럽 고 읽 을 수 없습니다.
이상 의 상황 을 피하 기 위해 서 는 빈 칸 을 사용 하여 코드 를 들 여 써 야 합 니 다. 한 팀 에 서 는 팀 에서 통용 되 는 들 여 쓰기 기준 을 설정 하고 팀 의 모든 사람들 이 이 기준 을 엄 격 히 지 켜 야 합 니 다.

좋은 웹페이지 즐겨찾기