코드 작성 표준의 목적은 코딩 프로세스의 표준화를 달성하고 향후 프로그램 개발을 위한 좋은 행동 습관을 개발하는 것입니다.
코드 작성 사양의 사용 범위: J2EE 프로젝트 개발.
패키지 명명 규칙:
목적: 패키지의 명명 규칙은 프로젝트 리소스의 적절한 구분을 반영해야 합니다.
서블릿 클래스가 위치한 패키지의 명명 규칙: 회사명.개발 그룹명.프로젝트명.web.servlet
예: net.linkcn.web.servlet
사용자 정의 태그 클래스가 있는 패키지의 명명 규칙: 회사 이름.개발 그룹 이름.프로젝트 이름.web.tags
예: net.linkcn.web.tags
필터 클래스가 위치한 패키지의 명명 규칙: 회사명.개발 그룹명.프로젝트명.web.filter
예: net.linkcn.web.filter
Action 클래스가 위치한 패키지의 명명 규칙: 회사 이름.개발 그룹 이름.프로젝트 이름.web.struts.action
예: net.linkcn.web.struts.action
ActionForm 클래스가 위치한 패키지의 명명 규칙: 회사 이름.개발 그룹 이름.프로젝트 이름.web.struts.form
예: net.linkcn.web.struts.form
Javabean 패키지 명명 규칙: 개발 그룹 이름. web.struts.service.impl.
예: net.linkcn.web.service.impl
Javabean 구현 인터페이스 명명 규칙: 회사 이름.개발 그룹 이름.프로젝트 이름.web.service
예: net.linkcn.web.service
DAO 클래스가 위치한 패키지의 명명 규칙: 회사명.개발 그룹명.프로젝트명.dao.impl
예: net.linkcn.dao.impl
DAO 클래스에 의해 구현된 인터페이스에는 패키지에 회사 이름.개발 그룹 이름.프로젝트 이름.dao라는 명명 규칙이 있습니다.
예: net.linkcn.dao
POJO 클래스와 hbm 파일이 위치한 패키지의 명명 규칙: 회사 이름. 프로젝트 이름.
예: net.linkcn.dao.hbm
글로벌 퍼블릭 클래스와 인터페이스 클래스가 위치한 패키지의 명명 규칙 : 회사명.개발그룹명.프로젝트명.글로벌
예: net.linkcn.global
전역 도구 클래스가 위치한 패키지의 명명 규칙: 회사 이름.개발 그룹 이름.프로젝트 이름.util
예: net.linkcn.util
클래스 명명 규칙 기본 명명 규칙:
클래스 및 인터페이스 명명 규칙: 대문자로 시작합니다. 단어가 여러 개인 경우 각 단어의 첫 글자를 대문자로 표시합니다. 예: StudentInfo
인터페이스 명명 규칙: 대문자 "I"로 시작합니다. 단어가 여러 개인 경우 각 단어의 첫 글자를 대문자로 표시합니다. 예: IStudentInfo
인터페이스 구현 클래스 이름 지정:
명명 규칙: 구현된 인터페이스 이름에서 첫 글자 "I"를 제거하고 "Impl"로 끝납니다. 단어가 여러 개인 경우 각 단어의 첫 글자를 대문자로 표시합니다.
예: StudentInfoImpl
J2EE+SSH 프레임워크 명명 규칙
서블릿 클래스 이름 지정:
명명 규칙: Servlet이라는 단어로 끝납니다. 예: LoginServlet
POJO 이름 지정:
최대 절전 모드에서 자동으로 생성된 클래스를 사용하세요.
DAO 클래스 이름 지정:
최대 절전 모드에서 자동으로 생성된 클래스를 사용하세요.
액션 클래스 이름:
명명 규칙: 액션 명명은 POJO 이름, POJO 이름을 기반으로 합니다.
예를 들어:
POJO 이름은 Diary이고 해당 작업은 DiaryAction입니다.
ActionForm 클래스 이름 지정:
명명 규칙: ActionForm의 명명은 POJO 이름과 POJO 이름 Form에 의해 결정됩니다.
예를 들어:
POJO 이름은 Diary이고 해당 actioForm은 DiaryForm입니다.
비즈니스 로직 인터페이스 이름 지정:
명명 규칙: 비즈니스 로직 인터페이스의 명명은 POJO 이름에 따라 결정되며 IPOJO 이름은 Service입니다.
예를 들어:
POJO 이름은 Diary이고 해당 비즈니스 논리 인터페이스는 IDiaryService입니다.
비즈니스 로직 구현 클래스 이름 지정:
명명 규칙: 비즈니스 논리 인터페이스 구현 클래스의 명명은 POJO 이름을 기반으로 합니다.
POJO의 이름은 Diary이고 해당 비즈니스 논리 인터페이스 구현 클래스의 이름은 DiaryServiceImpl입니다.
클래스 변수 이름 지정:
명명 규칙: 변수 이름의 첫 글자는 소문자여야 합니다. 변수 이름이 여러 단어로 구성된 경우 다음 단어의 첫 글자는 대문자로 연결해야 합니다. 변수 이름은 비공개여야 합니다. setter 및 getter 메서드를 추가할 수 있습니다.
예: private int StudentAge;
공개 int getStudentAge()
{
학생나이를 반환합니다.
}
공개 무효 setStudentAge(int StudentAge)
{
this.studentAge=학생나이;
}
상수 이름 지정:
명명 규칙: 모든 문자는 대문자로 표시됩니다. 단어가 여러 개인 경우 "_"로 단어를 구분해야 합니다. 그리고 변수는 public, static, final 유형이어야 합니다. 예: public static final String USER_NAME=”userName”;
메소드 명명 규칙: 첫 글자는 소문자여야 합니다. 변수 이름이 여러 단어로 구성된 경우 다음 단어의 첫 글자를 대문자로 사용하여 단어를 연결하지 마십시오. 단어에 명사를 사용하지 마십시오.
예: public int checkLogin(문자열 이름,문자열 비밀번호){}
주석 사양: 주석 사양은 전체 개발 사양에서 가장 중요한 구성 요소이며 엄격하게 구현되어야 합니다.
수업 노트:
기능: 전체 수업에 주석을 달고 수업의 기능을 간략하게 설명합니다.
작성 규칙: 클래스 주석은 클래스 선언 구문 앞에 작성되어야 합니다. 댓글에는 클래스의 기본 기능, 작성자, 날짜, 버전, 회사명, 저작권 표시 등을 기술합니다.
체재:
/* *
* 클래스 기능 설명: (클래스의 기능을 대략적으로 설명)
* @author: 작성자 이름
*
* @version: 클래스 파일의 버전 번호는 1.0부터 시작합니다(버전 번호 추가 및 변경은 직접 결정)
* 상황), 수정상태(수정시간, 작성자, 수정상태)
*
* @see 패키지 이름. 참조 클래스 이름(상위 클래스 나열, 클래스 소개, 각 클래스가 한 줄을 차지함)(있는 경우)
*생략 가능
* 다음과 같은 관련 데이터: (이 클래스의 일부 상수 데이터 및 일부 데이터 형식에 대한 이해를 돕기 위해)
* 또는 중요하다고 판단되는 자료가 없는 경우 생략 가능)
*/
클래스 선언 구문은 다음과 같습니다.
/**
*
제목:관리자 모듈 데이터 처리 클래스
*
설명: 두 개의 숫자를 추가합니다
*
저작권: 저작권 (c) 2007
*
회사:Huateng 소프트웨어 회사
*
* @작가 통진후
*
* @version $Revision: 1.7 $ $Date: 2007/07/08$
*/
공개 클래스 AdminDAO
가변 및 상수 주석:
기능: 이 변수의 의미를 간략하게 설명합니다.
작성 기준: 변수 설명은 변수 정의 앞에 작성하고 그 의미를 간략하게 설명해야 합니다.
체재:
/**
* 변수 기능 설명: (변수의 기능을 대략적으로 설명)
*/
예를 들어:
/**
*연령 변수 정의
*/
공개 연령;
메소드 설명:
기능: 메소드의 기능에 대한 간략한 설명, 해당 매개변수 및 반환 값의 의미에 대한 주석입니다.
작성 규칙: 메소드 주석은 메소드 정의 전에 작성되어야 합니다. 주석에는 메서드 기능에 대한 간략한 설명, 메서드 매개변수에 대한 간략한 설명, 반환 값 유형 및 반환 값 의미가 포함됩니다.
체재:
/**
*방법 기능 설명
* @param args (매개변수 유형은 매개변수 뒤에 쓰거나 생략 가능)
* 생략. 각 매개변수는 한 줄을 차지합니다)
* @return 출력 매개변수(같은 줄에 여러 상황이 작성됨)
* @see class #reference method (이 메소드 호출과 관련된 메소드는 참고용입니다.
* 시험의 경우 모든 방법을 모두 나열할 필요는 없으며 의미 있는 방법을 선택해야 합니다.
*메서드는 한 줄을 차지합니다)
* @Exception 예외 처리 클래스(메서드에서 발생할 수 있는 예외, 각
*예외는 한 줄을 차지함)
*/
예를 들어:
/**
* 관리자 비밀번호 변경
* @param adminId 관리자 번호
* @param oldPassword 이전 비밀번호
* @param 비밀번호 새 비밀번호
* @return boolean 편집 성공 여부
* @사용자 예외 발생
* @throws ServiceException
*/
public booleaneditAdminPassword(int adminId,String oldPassword,
문자열 비밀번호)는 UserException,ServiceException을 발생시킵니다.
Jsp 페이지 이름 지정:
명명 규칙: JSP 페이지 이름은 소문자로 시작해야 합니다. 여러 단어로 구성된 경우 후속 단어는 대문자로 시작해야 합니다. 이름은 페이지의 의미를 반영해야 하며 모듈 이름과 연결되는 것이 바람직합니다.
예를 들어:
login.jsp --로그인 페이지
Register.jsp --등록 페이지
message.jsp --고객 메시지 페이지
J2EE 프로젝트 프로젝트 폴더 구성 사양:
목적: 학생들의 웹 애플리케이션의 리소스 구성 형태를 표준화하고 좋은 파일 구성 습관을 형성합니다. 문서의 구성은 모듈 분할을 반영해야 합니다.
Eclipse 도구의 특성에 따라 프로젝트의 디렉토리 구조는 다음과 같습니다.
소스
----저장 자바 파일
웹루트
|--images --웹 프로그램에 필요한 공개 이미지 저장
|--css -- 웹 프로그램에 필요한 공개 스타일 시트를 저장합니다.
|--js --웹 프로그램에 필요한 공개 js 파일 저장
|--commons --웹 프로그램에 필요한 공용 파일 저장
|--기능 모듈 폴더(특정 기능 모듈과 관련된 리소스를 저장하기 위해)
|--images --이 함수 모듈과 관련된 이미지 저장
|--css --이 모듈과 관련된 스타일시트 파일을 저장합니다.
|--js --이 모듈과 관련된 js 파일을 저장합니다.
|--jsp, HTML 페이지
|--WEB-INF
|--클래스
|--lib
|--tld 파일
J2EE 프로젝트 제출 사양 프로젝트가 완료되면 프로젝트는 제품으로 사용자에게 전달되어야 합니다. 좋은 프로젝트 구성 사양은 사용자가 프로젝트에 필요한 리소스를 쉽게 찾을 수 있도록 하며 회사의 전문성을 반영합니다. 프로젝트 제출 시 반드시 다음 파일 형식으로 제출해야 합니다.
프로젝트 메인 폴더:
기능: 프로젝트의 다른 리소스 파일을 저장합니다.
명명 규칙: time_class number_group X.
예: 070706_GS2T18_그룹 4.
프로젝트 기본 폴더에는 다음 폴더와 파일이 포함됩니다.
|--src: .java 파일을 저장합니다.
|--database: 데이터베이스의 스크립트 파일이나 데이터베이스 백업 파일을 저장합니다.
|--source: Eclipse 프로젝트의 WebRoot 디렉토리에 있는 모든 파일을 저장합니다.
|--dependent: 프로그램을 컴파일하는 데 의존해야 하는 다른 jar 파일을 저장합니다.
|--javadoc: 모든 클래스에서 생성된 javadoc API 문서를 저장합니다.
|--war: 프로그램을 저장할 아카이브 파일
|--xx.war: 프로젝트 파일이 패키지화되어 있어 직접 실행할 수 있습니다.
|--project: 개발 프로젝트의 원본 엔지니어링 코드와 파일을 저장합니다.
|--제품 매뉴얼.doc: 제품 사용 방법을 사진과 텍스트로 보여줍니다.
|--build.xml: 실행 중인 war 파일을 생성하는 데 사용되는 ant 스크립트입니다.
|--프로젝트 설명.ppt: 프로젝트 설명을 위한 ppt (ppt는 학교 시뮬레이션 프로젝트에만 사용되며 기타 상업적 목적으로는 사용할 수 없습니다)
참고: 전체 프로젝트에서 데이터베이스에는 프로그램 작동을 지원하기 위해 일정량의 유효한 테스트 데이터가 있어야 합니다.