자바 개발 규범(2)

주석
1.[강제]형식 구 조 는 eclipse 템 플 릿 을 통일 적 으로 사용 하고 사용자 정의 가 금지 되 어 있 습 니 다.2.[강제]류,방법,속성 은 모두 주석 이 있어 야 합 니 다.만약 정말 늦 었 다 면,선생님 은 TODO 가 될 수 있 습 니 다.TODO 보 기 를 통 해 주 해 를 보충 할 수 있 기 때문이다.3.[강제]류 에 작가 가 있어 야 하고 수정 이 있 으 면 수정 자 를 추가 해 야 하 며 결대 가 있 으 면 적어 야 한다.사용자 이름 이 있 으 면 이메일 예 도 있어 야 합 니 다.
/**
 *   
 *
 * @author   ZhuangJunxiang([email protected])
 * @version 2017-03-06
 */

4.[강제]주석 은 직역 하고 알고리즘 이나 사고 또는 주의사항 을 묘사 해 야 합 니 다.주석 에 코드 의 모든 줄 이 완전히 드러나 지 않도록 사용자 들 은 실현 에 전혀 관심 을 가지 지 않 는 다.반 례:
/**
 *          #         。。。。
 *
 * @param page     
 * @param studentForm   
 * @return     
 */
public Page> findPageList(Page> page, StudentForm studentForm) {

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      

레이 어 링:
  • 기초 서비스:b
  • 종합 서비스:s
  • webapp 서비스:a 표 의 종류:
  • 실 체 를 비 추 는 표:접두사실체 명.실체 안에 여러 개의 단어 가 있 는데 밑줄 로 분리 한다.
  • 관계 표:접두사 실체 명 1(소문 자)실체 명 2(소문 자)rel。같은 실체 에 여러 개의 단어 가 있 는데 하나의 예 에 연결된다.
  • 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
  • 시간(날짜 까지 정확):date
  • 시간(초 까지 정확):datetime
  • 부동 소수점:deciaml
  • 문자열(길이 가 10 보다 작 거나 길이 가 10 보다 크 지만 길이 가 같 음):char
  • 문자열(길이 10~5000,길이 가 다 름):varchar
  • 문자열(부 텍스트):text 7,[강제]필수 필드
  • 메 인 키
  • 창설 시간
  • 수정 시간
  • 가짜 삭제 상태(자원 데이터 가 있어 야 한다 면 관계 데이터 가 금지 되 어 있다 면)8.[추천]은 불필요 한 데 이 터 를 추가 하 는 데 적합 하 다.그러면 데 이 터 를 빨리 조회 할 수 있다.중복 유형:
  • 계수기,계수기 등 통계 데이터
  • 수정 되 지 않 는 데이터 9,[추천]필드 순서:자체 설명-->다른 표 와 관련 된 설명-->기능 성-->반드시 필드
  • 주석
    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.[추천]표 의 모든 필드 를 업데이트 하지 못 하 게 하고 업데이트 할 필드 를 지정 해 야 합 니 다.
    금지 항
    원칙적으로 이런 기술 의 채택 을 금지한다.구조 적 으로 이런 고려 가 있 지 않 는 한
  • 저장 과정
  • 외부 키
  • 보기
  • 트리거
  • 분 창고,분 표,분 구.(단일 표 행 수가 500 만 줄 을 초과 하거나 단일 표 용량 이 2GB 를 초과 해 야 라 이브 러 리 분 표를 추천 합 니 다)
  • 프로젝트
    항목
    문법:플랫폼-층 별 직책-서비스 명칭 예:
    # 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.층 별 직책
  • core(능력 층.구체 적 인 업무 와 상 관 없 이 제공 능력)
  • base(기초 서비스 층.독립 적 으로 존재 할 수 있 고 실제 적 인 의 미 를 가 진 서비스 만 있 으 며 다른 서비스 에 의존 하지 않 습 니 다)
  • business(업무 서비스 층.여러 기초 서비스 에 의존 하여 일반적으로 절차 적 인 서비스)
  • webapp(응용 층.인터넷 사용자 에 게 직접 서 비 스 를 제공 합 니 다)3.서비스 이름 이 웹 프로젝트 라면 하위 도 메 인 이름 을 서비스 이름 으로 사용 합 니 다.다른 항목 은 직책 구분 에 따라 자체 적 으로 명명 된다.

  • 나 누 어 맡다
    자바 소스 코드 1,루트 디 렉 터 리 문법:도 메 인 이름 조직-프로젝트 이름.웹 계층 항목 이 있 으 면 해당 도 메 인 이름 을 거꾸로 사용 하면 됩 니 다.예:
    # web   ,             
       :uxuexi-web-course 
        :com.uxuexi.course
    #      ,  :    +   
       :uxuexi-business-sso 
        :com.uxuexi.business.sso
    

    2.자바 패키지 문법:패키지[+서브 모듈]+파일(클래스+접미사).그 중성자 모듈 은 업 무 를 참고 하 는 가방 만 있 고 통용 기능 은 서브 모듈 이 없 을 수 있다.하 도 급 명세서:
  • module:http 경로,서로 다른 업무 에 따라 서로 다른 url 로 전환 하 는 것 을 책임 집 니 다.
  • form:http 매개 변수의 패 키 징,검증,전송 을 책임 집 니 다.sql 작성 담당
  • entity:데이터베이스 영구 대상.데이터 의 지속 및 대상 자체 업무 의 실현
  • dto:인터페이스 에서 돌아 오 는 실체
  • service:논리 장치.논리 적 처리 또는 계산 단위
  • 도구
  • enums:매 거
  • vt:보기 탭...하위 모듈 이 있 는 업무 가방 은 module,form,enity,dto,service 입 니 다.일반적인 논리 가 있 으 면 common 서브 모듈 패키지 이름 을 사용 할 수 있 습 니 다.예:
  •   :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 에 오신 것 을 환영 합 니 다.모두 함께 학습 교 류 를 합 니 다.

    좋은 웹페이지 즐겨찾기