자바 개발 규범(2)
1.[강제]형식 구 조 는 eclipse 템 플 릿 을 통일 적 으로 사용 하고 사용자 정의 가 금지 되 어 있 습 니 다.2.[강제]류,방법,속성 은 모두 주석 이 있어 야 합 니 다.만약 정말 늦 었 다 면,선생님 은 TODO 가 될 수 있 습 니 다.TODO 보 기 를 통 해 주 해 를 보충 할 수 있 기 때문이다.3.[강제]류 에 작가 가 있어 야 하고 수정 이 있 으 면 수정 자 를 추가 해 야 하 며 결대 가 있 으 면 적어 야 한다.사용자 이름 이 있 으 면 이메일 예 도 있어 야 합 니 다.
/**
*
*
* @author ZhuangJunxiang([email protected])
* @version 2017-03-06
*/
4.[강제]주석 은 직역 하고 알고리즘 이나 사고 또는 주의사항 을 묘사 해 야 합 니 다.주석 에 코드 의 모든 줄 이 완전히 드러나 지 않도록 사용자 들 은 실현 에 전혀 관심 을 가지 지 않 는 다.반 례:
/**
* # 。。。。
*
* @param page
* @param studentForm
* @return
*/
public Page
5.[강제]방법 에 주석 을 쓰 는 것 을 금지한다.변수 와 속성 을 설명 하거나 추출 하 는 방법 에 대한 설명 이 필요 하지 않 습 니 다.방법 설명 에 알고리즘 이 있 으 면반 례:
//
fillBaseInfo();
//
fillAccoutInfo();
6.[강제]방법 에서 코드 를 주석 하 는 것 을 금지 합 니 다.버 전 관리 소프트웨어(git)를 통 해 통일 적 으로 해결 합 니 다.논 리 는 옳 지만 지금 은 당분간 사용 할 수 없고 잠시 주석 을 달 수 있 지만 TODO 를 써 야 합 니 다.TODO 형식:TODO 태그 의 원인 예:
//TODO ,
//long userId = fetchUser.getCurrentUserId();
long userId = 1L;
....
데이터베이스
여기 서 주로 MySQL 을 말 하 는데 다른 데이터 베이스 도 이런 준칙 을 참고 할 수 있다.
시계.
1.[강제]표 이름 을 통일 적 으로 사용 하 는 규범 표 이름 규범:레이 어 링+항목 이름 줄 임 말+밑줄+실체 이름(소문 자)[+밑줄+실체 이름(소문 자)+rel]예:
:bc_course : , c CourseEntity
:sc_course_knowledge_rel : , c CourseEntity KnowledgeEntity
레이 어 링:
bc_course_group -->CourseGroupEntity
sc_coursegroup_coursepack_rel -->CourseGroupEntity CoursePackEntity
2.[강제]innoDB 엔진 을 통일 적 으로 사용 합 니 다.3.[추천]표 명 은 다른 표 명 정보 와 관련 되 지 않 습 니 다.
bc_course
bc_course_video
bc_course_video_study_log
정규:
bc_course
bc_video
bc_study_log
인덱스
1.[강제]업무 상 유일한 특성 을 가 진 필드 는 조합 필드 라 도 유일한 색인 을 사용 해 야 합 니 다.예 를 들 어 사용자 이름,번호 등.유일한 색인 을 추가 하지 않 으 면 응용 층 에서 완벽 한 검사 와 통 제 를 하 더 라 도 유일한 색인 이 없 으 면 반드시 더러 운 데이터 2,[강제]유일한 색인 이름 이 있 습 니 다:uk필드 이름,일반 색인 이름:idx필드 이름 3,[강제]텍스트 정의 색인 을 금지 합 니 다.이러한 필드 검색 에 대한 수요 가 있 으 면 전체 텍스트 색인 방법 을 통 해 기능 을 수행 할 수 있 습 니 다.4.[추천]varchar 는 색인 길 이 를 정의 합 니 다.일반적으로 검색 이 있 으 면 사용자 도 많은 글 자 를 입력 하지 않 는 다.길 이 는 10 을 배수 로 통일 하고 50 을 초과 해 서 는 안 된다.
필드
1.【강 제】메 인 키 는 자체 증가 사용 을 금지 합 니 다.라 이브 러 리 마다 데 이 터 를 동기 화 할 때 문제 가 발생 합 니 다.삽입 성능 에 영향 을 줍 니 다.2.[강제]필드 가 모두 비어 있 는 것 을 금지 합 니 다.비어 있 으 면 사용 할 때 npe 가 나타 나 기 쉽다.채 우지 않 아 도 된다 면 기본 값 으로 처리 하 세 요.3.[강제]외부 키 사용 을 금지 하고 개념 과 응용 차원 에서 만 외부 키 의 필드 이름 을 사용 할 수 있 습 니 다.표 이름 은 접두사 제거+id 4,[강제]매 거 진 사용 금지,집합 유형 5,[강제]데이터베이스 에서 블 로그 에 파일 이 존재 하 는 것 을 금지 합 니 다.데이터 베 이 스 는 상대 적 인 url 경로 6,[강제]형식 사용 규범 만 저장 합 니 다.
불:bit
1.[강제]표 이름 또는 필드 주석 형식:직역[(보충 설명)]반 례:
:t_first_login, : , web
정규:
:t_first_login, : ( , web )
2.[강제]'표','데이터'등 불필요 한 단어 반 례 를 금지 합 니 다.
:aw_input_batch, :
:t_admission_110000, :
3.[추천]만약 에 유형 필드 가 변경 되면 주석 예 를 동기 화 합 니 다.
status (0: ,1: )
// ,
status (0: ,1: ,2: )
sql 1,[강제]select 금지.데이터베이스 에서 실행 시간 성능 이 응답 하지 않 았 습 니 다.그러나 되 돌아 오 는 데이터 의 양 이 커지 고 네트워크 비용 에 영향 을 주 며 최종 적 으로 성능 에 영향 을 줄 수 있 으 며 데이터 뱅 크 의 2 진 로그 2,[강제]select count()를 사용 하 는 데 도 영향 을 줄 수 있다.select count(name)는 null 의 줄 수 를 기록 하지 않 습 니 다.그리고 정 부 는 성능 에 영향 을 주지 않 는 다 고 밝 혔 다.반 례:
select count(1)
select count(id)
3.[강제]sum 함 수 를 사용 할 때 IFNULL(sum(),0)을 사용 해 야 합 니 다.sum 함수 가 결 과 를 찾 지 못 하면 null 로 돌아 가면 npe 가 나타 나 기 쉽 습 니 다.4.[추천]출현 금지 or.in 또는 unitall 을 사용 하여 5,[추천]orderby 의 장면 을 교체 할 수 있 습 니 다.색인 을 만 들 때 orderby 뒤의 필드 도 조합 색인 의 일부분 이 어야 하 며 색인 순서 마지막 에 두 어 file 이 나타 나 지 않도록 해 야 합 니 다.sort 정규 예:
where a=? and b=? order by c; :a_b_c
6.[추천]조합 색인 을 만 들 때 구분 도가 가장 높 은 것 은 맨 왼쪽 에 두 는 것 입 니 다.
where a=? and b=? a , idx_a 。
7.[추천]표 의 모든 필드 를 업데이트 하지 못 하 게 하고 업데이트 할 필드 를 지정 해 야 합 니 다.
금지 항
원칙적으로 이런 기술 의 채택 을 금지한다.구조 적 으로 이런 고려 가 있 지 않 는 한
항목
문법:플랫폼-층 별 직책-서비스 명칭 예:
# uxuexi ,web ,course ( web, ), course.uxuexi.com
uxuexi-web-course
# uxuexi ,business ,sso
uxuexi-business-sso
# uxuexi ,base ,course
uxuexi-base-course
# we ( , , we),business ,sso
we-business-sso
# we ( , , we),core ,db
we-core-db
1.플랫폼 에서 사용 하 는 도 메 인 이름 에서 조직 접 두 사 를 삭제 합 니 다.예:
:www.uxuexi.com
-------
:www
:uxuexi
:com
2.층 별 직책
나 누 어 맡다
자바 소스 코드 1,루트 디 렉 터 리 문법:도 메 인 이름 조직-프로젝트 이름.웹 계층 항목 이 있 으 면 해당 도 메 인 이름 을 거꾸로 사용 하면 됩 니 다.예:
# web ,
:uxuexi-web-course
:com.uxuexi.course
# , : +
:uxuexi-business-sso
:com.uxuexi.business.sso
2.자바 패키지 문법:패키지[+서브 모듈]+파일(클래스+접미사).그 중성자 모듈 은 업 무 를 참고 하 는 가방 만 있 고 통용 기능 은 서브 모듈 이 없 을 수 있다.하 도 급 명세서:
:module.student.course , :StudentCourseModule
:module.user, :UserModule
:util, :StringUtil
자원 파일
1.루트 디 렉 터 리 resources 2,sql 패키지 와 service 및 form 의 패키지 이름 이 일치 하고 파일 이름과 자바 호출 된 클래스 이름 이 일치 합 니 다.
# java
# com.uxuexi.www
# module
# student.course
# StudentCourseViewService.java
com.uxuexi.wwww.module.student.course.StudentCourseViewService.java
# sql
# resources
# sql
# student.course
# StudentCourseViewService.sql
resources.sql.student.course.StudentCourseViewService.sql
보기 파일
1.루트 디 렉 터 리 WEB-INF 2,보기 패키지 module 류 단어 소문 자 구분,파일 이름과 module 의 방법 명 일치 예:
# java
# com.uxuexi.www
# module
# student.course
# StudentCourseModule
# list
com.uxuexi.wwww.module.student.course.StudentCourseModule.list()
#
# WEB-INF
# student.course
# list.jsp
WEB-INF.student.course.list.jsp
학습 교류 군 569772982 에 오신 것 을 환영 합 니 다.모두 함께 학습 교 류 를 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.