개발자는 엄격한 코드 사양이 있어야합니다. 이러한 이유로 일부 코드 사양 사례를 요약했습니다.
목차
1. 서문
2. 시험 범위
3. Java 이름 지정 사양-
3.1 공공 협정
3.2 자바 파일, 가방, 가방
3.3 클래스, 인터페이스 명명 사양
3.4 메소드 명명 사양
3.5 상수
3.6 변수 및 매개 변수
3.7 구성 요소/구성 요소
3.8
3.9 신비한 숫자
3.10 기타
3.11 Java 예외
3.12 배열 명명
3.13 데이터베이스 표 이름 지정 규칙
3.14 데이터베이스 필드 명명 규칙
3.15 JSP 파일 이름
3.16 서블릿 이름
4. 형식 사양 쓰기
4.1 Endix
4.2 공간
4.3 정렬
4.4 빈 줄
4.5 참고
5. 코드 파일 스타일
1. 시스템 소스 프로그램의 가독성을 보장하여 시스템의 시스템 유지 보수를 향상시키고 시스템의 프로그래밍을 규제하기 위해 다음 프로그래밍 사양을 공식화합니다. 시스템이 상속받은 다른 리소스의 소스 프로그램은이 사양에 따라 그에 따라 수정되어야합니다.
2.이 문서의 시험 범위는 Hebei Postal Application System Software (Java Language) 개발을위한 프로그래밍 형식으로 사용됩니다. 시스템의 코딩, 테스트 및 유지 보수 프로세스 중에 엄격하게 관찰해야합니다.
3. Java 이름 지정 사양
3.1 소스 파일 이름, 메소드, 디렉토리, 패키지, 데이터베이스 테이블 이름, 데이터베이스 필드 등의 이름 지정 소스 파일 이름, 메소드, 디렉토리, 패키지 이름, 데이터베이스 테이블 이름, 데이터베이스 테이블 이름, 데이터베이스 필드의 이름. 차가운
시스템에서 사용하는 이름은 영어 약어로 표현됩니다. 차가운
이름 지정 방법은 다음과 같습니다. prefix+{이름 지정 단어 약어}, Prefix는 데이터베이스 테이블과 같은 이름 지정 사용을 표현합니다. 차가운
명명 접두사는 프로젝트 팀에 의해 결정됩니다. 차가운
시스템 공개 유지 보수 개체를 제외한 다른 객체는 모든 이름 지정이 소문자를 사용합니다. 한 방법은 "_"를 연결 기호로 사용하고 다른 방법은 Prime이라는 단어의 첫 번째 문자를 직접 연결하는 것입니다. 이 사양에서 데이터베이스 이름 및 데이터베이스 필드 이름은 첫 번째 방법을 채택하고 나머지는 두 번째 방식입니다. 차가운
사용을 사용하면 변수/필드/클래스/인터페이스/백의 전체 영어 설명자를 정확하게 설명 할 수 있습니다. 예를 들어 FirstName, ListallUsers 또는 CorporateCustomer와 같은 이름을 사용하면 Chinese Pinyin과 관련이없는 단어를 사용하는 것이 금지되어 있습니다. , 방법, 변수, 필드 등
이름의 가독성을 향상시키기 위해 소문자 믹싱을 사용합니다. 일반적으로 소문자 문자를 사용해야하지만 이름과 인터페이스 이름의 첫 번째 문자와 중간 단어의 첫 글자는 대문자 여야합니다. 모든 패키지 이름. 차가운
적은 약어로 사용하려고 노력하지만, 그것을 사용해야하는 경우, 공개 약어와 습관적 약어를 사용할 때 구현과 같은 습관적 약어를 사용할 때는 명시 적으로 축약 될 수 있습니다. 관리자 (관리자)는 MGR 등으로 약식 할 수 있습니다. 자세한 내용은 참조하십시오. 학대 남용. (긴 이름을 사용하지 마십시오 (바람직하게는 25 글자를 넘지 않음).
숫자를 사용하지 않으십시오. 그러나 GO2JSP와 같은 등 대신 4 대신 2를 사용할 수 있습니다.
3.2 Java 파일, 백
파일 이름은 클래스와 동일해야하며 단어의 첫 글자는 대문자입니다. 차가운
패키지 이름은 일반적으로 프로젝트 나 모듈의 이름을 따서 명명되었으며 약어와 긴 이름을 사용합니다. 차가운
기본 패키지 : com.czpost, 모든 패키지 및 파일은이 패키지에 속합니다.
패키지 이름은 [기본 팩] [모듈 이름]
클래스는 기본 패키지 바로 아래에 정의되어야합니다. 모든 항목의 클래스와 인터페이스는 해당 프로젝트 및 모듈 패키지에 정의되어야합니다.
3.3 범주 및 인터페이스 명명 사양 모든 단어의 모든 단어. 정확히 동일 할 수있는 단어, 인터페이스 의미, 기능 등을 사용하십시오. 일반적으로 명사를 사용합니다. 차가운
인터페이스는 내가 접두사 또는 능력, ible, e 및 기타 접미사를 가져올 수 있습니다.
3.4 방법 명명 사양 방법 명명 표준 방법의 이름 지정은 완전한 영어 설명자를 사용하고 소문자의 혼합 사용 : 모든 중간 단어의 첫 번째 문자입니다. 이 방법의 방법의 첫 번째 단어는 종종 강한 동작 색상의 동사를 사용합니다. 값의 값은 Get Prefix를 사용하고, 클래스는 세트 접두사를 사용하며, 판결 클래스가 사용하는 판단은 접두사입니다. 예 : getName () setSarry () islogon () 메소드 매개 변수 시퀀스 : (연산자, 작동 컨텐츠, 작동 로고, 기타) 예 : public void Replare (String Sourcest, String Oldstr, String Newstr) {...... ...}
3.5 상수는 완전한 영어 대문자 단어를 사용하고 다음과 같은 단어와 단어 사이의 선에 연결합니다. default_value
3.6 변수 및 매개 변수 변수는 헝가리 이름 지정 방법을 사용하는 것이 좋습니다.
플랫폼 변수 (int, short, long 포함) : n으로 시작합니다
플로팅 -포인트 변수 (float, double 포함) : F로 시작하십시오
문자 변수 : C로 시작합니다. char cpageflag;
날짜 변수 : D로 시작하십시오. DTODAY;
문자열 변수 : 예 : char spageno [2+1];
글로벌 변수 : G를 사용한 데이터 유형 : CHSBANKNO [10+1];
정적 변수 : 정적 변수는 파일의 글로벌 변수이며 이름 지정 규칙은 글로벌 변수와 동일합니다. 차가운
시스템 -수준 변수 : 시스템 레벨 변수도 글로벌 변수입니다.
예를 들어 : char _sbankno [10+1] 'g'는 없습니다.
임시 변수는 일반적으로 i, j, k, m 및 n이라고하며 일반적으로 정수에 사용되며 일반적으로 문자 유형에 사용됩니다.
3.7 구성 요소/구성 요소는 완전한 영어 디스크립터 명명 구성 요소 (인터페이스 구성 요소)를 채택한 다음 Btnok, lblname과 같은 헝가리 명명 규칙을 채택해야합니다. t 버튼 변수 btn+xxxxxxx, 예 : btnsave, btn exit, btnprint 등 선택 CHC 대화 DLG EVT EVT FRM 메뉴 패널 PNL TEXTAREA TXA TEXTFIELD TXF
3.8 배열 및 벡터와 같은 컬렉션은 큐에 저장된 객체의 유형을 나타내려면 여러 숫자로 이름을 지정해야합니다. 이름 지정은 전체 영어 설명자를 사용해야합니다. 예를 들어 : 벡터 vproduts = new vector ();
3.9 신비한 숫자 프로그램은 종종 특정한 의미를 가지고 있으며 신비한 숫자를 상수로 정의합니다. 이 상수의 이름은 숫자의 중요성을 표현해야하며, 변수에 해당하는 식별자와 구별되는 모든 대문자 여야합니다. 예를 들어, 숫자 50은 NUM_OF_EMPLOYEES라는 상수 교체로 정의 할 수 있습니다.
3.10 다른 명명이 여러 값을 나타내는 것을 나타내면 복식을 사용해야합니다. 예를 들어 : Orderitems.
3.11 Java 비정상 비정상 범주는 ActionXception과 같은 비정상적인 유형과 예외를 나타내는 단어로 구성됩니다.
비정상적인 사례는 일반적으로 E, ex 등을 사용합니다. 여러 가지 이상에서는이 비정상적인 이름이나 약어를 사용하여 e, ex 등을 추가하십시오.
3.12 배열 명명 어레이는 항상 다음과 같은 방식으로 명명되어야합니다.
3.13 데이터베이스 테이블의 이름 지정 규칙은 접두사와 이름 지정 단어 사이의 하부 라인으로 분리됩니다. name 이름은 소문자로 구성됩니다. 차가운
이름 지정 단어가 단일 단어로 구성된 경우, 전체 철자법 및 약어 인 경우; 약어 사이에서 하단 라인을 사용하십시오. 예를 들어 : 例 库 例 : 'T_'로 시작하십시오. 보기 : 'v_'로 시작하십시오. 例 例 : 't_'로 시작하고 라이브러리의 유일한 지수로 시작합니다. '_idx'의 끝에있는 테이블 : '끝
3.14 데이터베이스 필드 명명 규칙
이름 지정 단어가 단일 단어로 구성된 경우, 전체 철자법 및 약어 인 경우; 약어 사이에서 하단 라인을 사용하십시오. name 이름은 소문자로 구성됩니다. prefix가 없습니다.
3.15 JSP 파일 이름 지정은 완전한 영어 설명을 사용하여 생생한 동사, viewmessage.jsp, edituser.jsp 또는 forumchooser.jsp 등과 같은 첫 번째 문자를 포함하여 JSP가 완료 한 함수를 나타냅니다.
3.16 Servlet 클래스의 이름은 일반적으로 사용자 서비스, TradeService 등과 같은 접미사 서비스와 함께 제공되는 개체에 해당합니다.
4. 형식을 작성하려면 필기 형식을 엄격히 읽고 읽기 쉽고 통합 된 스타일이 필요합니다. 소스 프로그램은 Eclipse 도구를 개발하고 형식 사양이 도구에서 사전 설정하는 것이 좋습니다.
4.1 Innsy 및 들여 쓰기 제안은 4 개의 빈 그리드를 기반으로합니다. 사전 처리 문, 글로벌 데이터, 제목, 추가 설명, 기능 설명, 레이블 등이 모두 작성되었습니다. 문장 블록의 "{"및 "}"는 이전 줄과 정렬되고 정렬됩니다. 명령문 블록은 각 "{", "}"별도의 한 줄에 권장됩니다. SCLIPSE의 기본 메소드는 시작 "{"가 별도의 줄이 아니며 위의 형식으로 변경하는 것이 좋습니다.
4.2 원칙적으로, 변수, 클래스, 상수 데이터 및 공간의 함수는 원칙적으로 유형에 있으며, 수정 된 이름은 상황에 따라 적절하게 간격을두고 정렬됩니다. if (...) 등과 같은 키워드의 원리로 사용할 수 있습니다. 연산자의 공간 요구 사항은 "::", "->", "[", "" ","++ ","-"-", "~", "", "+"- "(양수를 지칭),"& "(인용) 및 공간이없는 계산의 양면과 같은 다른 연산자 (단일 -EYE 컴퓨팅 심볼 시스템은 작동의 연결된 측면을 의미합니다), 기타 연산자 (대부분의 2 개의 목적 사업자 및 운영자 및 운영자 및 "3 개의 이수 연산자 포함"? : "양쪽에 빈 그리드 하나는 함수가 정의 될 때 상황에 따라 정렬 될 수 있지만 기능이 사용될 때 사용할 수 있습니다. "정렬해야 할 때 그리드는 비어 있거나 멀티 스페이스가 될 수 있습니다.
4.3 근접 정렬 라인은 원칙적으로 정렬되어야하며 정렬에는 유형, 수정, 이름 및 매개 변수와 같은 모든 부분이 포함됩니다. 각 라인의 길이는 필요한 경우 화면을 적절하게 변경하지 않아야합니다 첫 번째 줄, 즉 다음 줄이 "{"인 경우 첫 번째 줄과 정렬해야합니다. 가변 정의는 공백 또는 탭 키를 추가하는 것과 일치하는 것이 가장 좋습니다. 같은 유형의 변수가 함께 가장 좋습니다. 다음 예에서 볼 수 있듯이 int nresult;
4.4 10 연속 빈 줄과 같이 빈 줄에 불규칙한 빈 줄이 있어야합니다. 프로그램 파일 구조의 각 부분은 비어 있으므로 각 함수에는 기능 설명 주석이 있으므로 일반적으로 비어 있거나 그렇지 않은 경우에는 한 줄이 비어 있어야합니다. 작성한 기능의 경우 "// -------"를 분리하는 것이 좋습니다. 함수의 내부 데이터와 코드의 적절한 위치가 공중에서 열려 있어야합니다. 그것의. 클래스의 4 개의 "p"사이에는 적어도 한 줄이 있으며 데이터와 기능도 비어 있어야합니다.
4.5 참고 참고는 소프트웨어의 가독성에 대한 구체적인 구체 예입니다. 프로그램 주석은 일반적으로 프로그램 코딩 수의 20%를 차지하며 소프트웨어 엔지니어링 요구 사항은 20%이상입니다. 프로그램 주석은 초록 언어로 "처리"및 "사이클"과 같은 추상 언어로 사용할 수 없습니다. 각 절차 행의 의견을 피하면 명확한 처리 로직으로 프로그램 앞에 주석을 추가 할 수 있습니다. 댓글은 필수적이지만 너무 많은 것은 너무 많아야합니다. 다음은 필요한 네 가지 메모입니다. 제목 및 추가 설명.的 함수, 클래스 등에 대한 설명 거의 모든 기능에 대한 적절한 설명이 있어야합니다. 기능 구현 전에 기능, 목적, 알고리즘 등에 의해 컨텐츠가 추가됩니다. 필요한 경우 특수 소프트웨어 및 하드웨어 요구 사항과 같은 몇 가지 지침이 있어야합니다. 공공 기능 및 공개 수업에 대한 진술은 물론 방법과 디자인 아이디어에 의해 설명되어야합니다. 차가운
불분명하거나 비장이 아닌 경우에는 특정한 설명이 있어야합니다. 차가운
그리고 사용자 지정 변수의 주석, 코드 쓰기 시간 등과 같은 소량의 기타 메모.
5. 코드 파일 스타일 모든 Java (*. java) 파일은 다음 스타일 규칙을 따라야합니다.
파일 생성의 경우 표준화 된 Java 파생형 클래스의 경우 Eclipse 도구를 사용하여 손으로 만든 헤더 파일/구현 파일을 피하기 위해 파일 형식을 생성하십시오. e 패키지/가져 오기 패키지 라인은 가져 오기 라인 앞에 있어야하며, 가져 오기의 표준 패키지 이름은 로컬 패키지 이름 앞에 있으며 문자 순서로 배열됩니다. 가져 오기 행에 동일한 패키지에 다른 서브 디렉토리가 포함 된 경우*로 처리해야합니다.
hotlava.net.stats java.util.observable; 차가운
파일 헤드 주석 파일의 헤드 주석은 주로 파일의 일부 정보를 보여줍니다.이 정보는 프로그램의 전체 설명 인 프로그램의 가독성과 유지를 향상시킬 수 있습니다. 파일 헤드 주석은 일반적으로 패키지/가져 오기 문과 클래스 설명 뒤에 있습니다. 최소한 파일 이름, 제작자, 생성 시간 및 컨텐츠 설명을 작성해야합니다. 형식은 가능한 한 많이 제한되어야합니다. /*** 제목 : 마우스 위치 클래스를 결정하려면 ok* 설명 : 현재 작업 필드를 결정하고 작업 번호를 반환합니다* @CopyRight : Copyright (C) 2002* @Company : hit * @authoror : rivershan * @version : 1.0 */ 클래스는 클래스 주석입니다. 일반적으로 클래스를 설명하는 데 사용됩니다. / ** * 패킷 세트와 바이트 카운트 테크너스를 억압하는 클래스 클래스 * 웨이팅을 허용하는 것이 관찰 가능하지만, 현재 세트가 완료되면 e */ 다음 줄이 포함 된 클래스 정의입니다. 확장 및 구현 공공 클래스 카운터 셋은 관찰 가능한 도구 클로닝 가능 클래스 필드를 확장합니다.
다음은 멤버 변수입니다 : / ** * Packet Count * / Protected int [] Packets는 문서 (Javadoc)를 생성해야합니다. Procity, Private 및 Package로 정의 된 멤버 변수가 명확한 경우 의견이 없습니다. Access 액세스 방법은 변수에 액세스하는 방법입니다. 단순히 클래스의 변수를 사용하여 단순히 줄에 쓸 수있는 값을 얻는 것입니다. (개인적으로 가능한 한 많이 쓰려고 생각합니다)
/** * 카운터 * @return 통계 데이터가 포함되어 있습니다.
public int [] getPackets () {return copyArray (패킷, 오프셋);} public int [] getBytes () {return copyArray (bytes, Office)] getPackets () {return packets;} public void setpackets (int [] 패킷) {this.packets = 패킷;}
다른 방법은 생성자 라인에 작성되어서는 안됩니다. 액세스 유형 ( "public", "private"등 및 "정적", "최종"또는 "동기화 된"은 한 줄에 있어야하며 메소드와 매개 변수는 하나씩 작성할 수 있습니다.이를 통해 방법과 방법을 만들 수 있습니다. 매개 변수를 읽기 쉽습니다.
공개 카운터 세트 (int size) {
this.size = size;
}
클론 방법을 클로닝 할 수 있다면 다음 단계는 복제 방법입니다. public object clone () {)
노력하다 {
객체 OBJ = (Countset) super.clone ();
} catch (clonenotsupportedException e) {{
새 인터넷을 던지십시오 ( "예기치 않은 clonenotsupportException :" + e.getMessage ());
}
}
수업 방법은 클래스 방법을 작성하기 시작했습니다.
/ ** * 패킷 수 설정 * galargumentexcetion {
// 배열의 크기가 동일한 크기인지 // if (r1.length! = r2.length || r1.length! = r3.length || r1.length! = r4.length) Ion ( "배열이어야합니다. 뉴스 크기 "; System.ArrayCopy (R1, 0, R3, 0, R1.Length); System.ArrayCopy (R2, 0, R4, R4, R1.Length); 한 클래스는 TOSTRING 메소드를 정의해야합니다.
public String toString () {문자열 retval = "int i = 0; i <data ();} return retval;}
기본 메소드가 정의되면 클래스 하단에 작성해야합니다.