ㅤㅤㅤ

Naming Role 본문

プログラミング/JAVA

Naming Role

ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ 2017. 6. 16. 13:18

= Naming Role =

1. 패키지구조
  1) com.opms.framework.spring.extend  -> spring에서 제공하는 기능 중 추가 확장
  2) com.opms.framework.struts.extend  -> struts에서 제공하는 기능 중 추가 확장
  3) com.opms.framework.common.util     -> 프레임워크에서 공통적으로 많이 사용하는 유틸리티
  4) dev.opms.프로젝트명.버전.기능.구분 -> 버전(admin,agency) , 기능(user,system,etc...) , 매체구분(overture,google,naver...), 프로그램구분(action,service,dao)
  
2. 웹디렉토리 구조
  1) webapp/layout/.. -> 사이트메시관련페이지
  2) webapp/resource/종류(css,js,images)/..
  3) webapp/view/버전(admin,agency)/기능(user,system.etc...)/..
  4) webapp/index.jsp(agecny버전 기본페이지) , admin.jsp(admin버전 기본페이지)
  5) webapp/WEB-INF/config/프레임워크설정(ibatis,sitemesh,spring)
  6) webapp/WEB-INF/log/..(로그파일) -> log4j , spy 설정파일 조사해봐야함
  7) webapp/WEB-INF/upload/..(업로드파일) 
  8) webapp/WEB-INF/sitemesh.xml(사이트메시설정), web.xml(웹어플리케이션설정)

3. DB
  1) 테이블명,컬럼명,함수명 모두 대문자(기존 오라클 네이밍 룰을 따름) AAAP_AAA
   -> 오라클로 Migration 시 기존 그대로 갈수 있음 (물론 function, procedure 등은 수정)
 -> 어짜피 ibatis에서 매핑할때는 resultMap 에서 따로 선언 해 주어야 함

4. Java
  1) 변수 선언 시 (type별)
 -> int   : ex) int userCnt;
 -> float   : ex) float userCnt;
 -> double   : ex) double userCnt;
 -> boolean  : ex) boolean isUserId
 -> String  : ex) String chkUserId;
 -> Object(Model) : ex) User user;
 -> List   : ex) List users;
 -> getter,setter 가 들어가지 않는 지역변수는 기존변수 네이밍룰을 따른다(iUserCnt, fUserCnt, dUserCnt, bnUserId, strUserId, arrUser, obUser)

  2) 변수 선언 시 (Function별)
 -> check  : chk+변수명 ex) chkUserId;
 -> ... etc

  3) 게시판 관련 변수
 -> pageNo  : 현재페이지 번호
 -> pageSize  : 현재페이지당 목록수
 -> pageSearchKey : 현재페이지 검색 키
 -> pageSearchValue : 현재페이지 검색 값 
 -> pageSortKey  : 현재페이지 정렬 키
 -> pageSortValue : 현재페이지 정렬 값
 -> pagePagingHtml : 페이지 페이징 HTML
 -> pageStatusHtml : 페이지 정보 HTML
 -> pageSizesHtml : 페이지 목록리스트 HTML

  4) 액션 -> 서비스 -> DAO -> iBatis 명
 -> 동사+모델명 ex) 액션 : loginUser 
 -> 기본 액션명
 ACTION      SERVICE     DAO      iBatis
 listUser -> getUsers -> getUsers -> getUsers (사용자 검색 페이지)
 editUser -> getUser -> getUser -> getUser (사용자 수정 페이지)
 addUser  -> 사용안함 -> 사용안함 -> 사용안함 (사용자 추가 페이지)

 editUserProc -> editUser -> editUser  -> editUser (사용자 수정 처리)
 delUserProc -> delUser -> delUser -> deluser (사용자 삭제 처리)
 addUserProc -> addUser -> addUser -> addUser (사용자 추가 처리)

5. JSP
  1) <form> 의 이름
 -> 파일명+Form ex) <form name="frmForm(1,2,3,4,...)"></form>
  2) JSP 에서 사용할 URL이 있다면 <s:url id="url+액션명" action="액션명" /> 설정후 <s:property value="#url+액션명"/> 로 사용
  3) 왠만하면 스트럿츠태그 사용 권장 ( 서블릿태그보다 빠르다고 합니다. )
  4) 파일명
 -> 동사+모델명 ex) addUser.jsp , listUser.jsp , editUser.jsp , viewUser.jsp
  
6. Javascript
  1) 함수명
 -> 동사+명사등... ex) exeListUser, exeEditUser, exeEditUserProc ... ( 액션실행 함수는 exe+액션명, 스크립트상에서 실행되는 함수는 exe를 안붙임 )
  2) 변수명
 -> Java변수 선언 과 동일

7. 국제화 Text관련
  1) webapp/WEB-INF/src/message.properties
 -> 공통적으로 사용
  2) webapp/WEB-INF/src/dev.opms.프로젝트명.버전.기능.action/액션명_(ko,en,zh).properties
 -> 각 기능별로 나눠서 저장할것인가, 버전벌로 나눠서 저장 할것인가

= Program Role =

1. action
 -> jsp의 값을 받아서 service로 넘기는 역할
 -> service에서 반환받은 값으로 view로 넘김
2. service
 -> action에서 넘겨받은 값을 가공하여 dao로 넘기는 역할
 -> dao로 넘겨받은 값을 가공하거나 그대로 action으로 넘김
3. dao
 -> service에서 넘겨받은 가공된 값으로 map에 저장하여 ibatis에 넘김
 -> ibatis에서 넘겨받은 값을 service로 보냄
4. model
 -> action 단에서 파라미터로 받은 값을 model 객체에 저장 (DB 테이블 column 과 동일)



출처: http://jang8584.tistory.com/34 [개발자의 길]

Comments