Index: 313DEVGRP개발룰.txt =================================================================== diff -u --- 313DEVGRP개발룰.txt (revision 0) +++ 313DEVGRP개발룰.txt (revision 67cae89adb177231fbea9029bda4436a470cd8a6) @@ -0,0 +1,149 @@ +카멜 표기법(camelCase)를 사용한다. +camelCase : 최초에 사용된 단어를 제외한 첫 번째 문자가 대문자이며 나머지는 소문자이다. + +1. 패키지(Package) 명명 규칙 + +패키지명은 표준 패턴을 따라야 한다. +Ex) [com].[Company].[Project].[TopPackage].[LowerPackage] + +패키지명은 가급적 한 단어의 명사를 사용한다. +Ex) 좋은 예 : com.nexon.sudden.member.object +Ex) 나쁜 예 : sudden.memberObject + + +2. 클래스(Class) 명명 규칙 + +클래스명에는 파스칼을 사용한다. +Ex) public class HelloWorld {} + +인터페이스에는 특별한 접두사나 접미사를 사용하지 않고 파스칼을 사용한다. +Ex) public interface Animal {} + +인터페이스를 구현한 클래스에는 특별한 접두사나 접미사를 사용하지 않고 파스칼을 사용한다. +Ex) public class Tiger implements animal{} + +추상 클래스에는 특별한 접두사 접미사를 사용하지 않고 파스칼을 사용한다. +Ex) public abstract class Animal {} +3. 메소드(Method) 명명 규칙 + +메소드명에는 파스칼 표기법을 사용한다. +Ex) public void SendMessage(String message) {} + +속성에 접근하는 메소드명의 접두사는 'get','set'을 사용한다. +Ex) public void setDisplayName +Ex) public void getDisplayName + +데이터를 조회하는 메소드명의 접두사는 find를 사용한다. +Ex) public void findData(String data){} + +데이터를 입력하는 메소드명의 접두사는 input을 사용한다. +Ex) public void inputData(HashMap data){} + +데이터를 변경하는 메소드명의 접두사는 modify를 사용한다. +Ex) public void modifyData(HashMap data){} + +데이터를 삭제하는 메소드명의 접두사는 delete를 사용한다. +Ex) public void deleteData(String data){} + +데이터를 초기화 하는 메소드명의 접두사는 initialize을 사용한다. +Ex) public void initData(String data){} + +반환값의 타입이 boolean인 메소드는 접두사로 is를 사용한다. +Ex) public void isData(String Data){} + +데이터를 불러오는 메소드명의 접두사는 load를 사용한다. +Ex) public void loadData(){} + +데이터가 있는지 확인하는 메소드명의 접두사는 has를 사용한다. +Ex) public void hasData(){} + +보다 지능적인 set이 요구될때 사용하는 메소드명의 접두사는 register를 사용한다. +Ex) public void registerAccount(){} + +새로운 객체를 만든뒤 해당 객체를 리턴해주는 메소드명의 접두사는 create를 사용한다. +Ex) public void createAccount(){} + +해당 객체를 다른 형태의 객체로 변환해주는 메소드명의 접두사는 to를 사용한다. +Ex) public void toString(){} + +해당 객체가 복수인지 단일인지 구분하는 메서드명의 접미사는 s를 사용한다. +Ex) public void getMembers(){} + +B를 기준으로 A를 하겠다는 메소드명의 전치사는 By를 사용한다. +Ex) public void getUserByName(String name){} + +반환값의 타입이 boolean인 메소드는 접두사로 is를 사용한다. +Ex) public void isData(String Data){} + +데이터를 불러오는 메소드명의 접두사는 load를 사용한다. +Ex) public void loadData(){} + +데이터가 있는지 확인하는 메소드명의 접두사는 has를 사용한다. +Ex) public void hasData(){} + +보다 지능적인 set이 요구될때 사용하는 메소드명의 접두사는 register를 사용한다. +Ex) public void registerAccount(){} + +새로운 객체를 만든뒤 해당 객체를 리턴해주는 메소드명의 접두사는 create를 사용한다. +Ex) public void createAccount(){} + +해당 객체를 다른 형태의 객체로 변환해주는 메소드명의 접두사는 to를 사용한다. +Ex) public void toString(){} + +해당 객체가 복수인지 단일인지 구분하는 메서드명의 접미사는 s를 사용한다. +Ex) public void getMembers(){} + +B를 기준으로 A를 하겠다는 메소드명의 전치사는 By를 사용한다. +Ex) public void getUserByName(String name){} +4. 변수(Variable) 명명 규칙 + +변수와 메소드의 파라미터에는 카멜표기법을 사용한다. +변수에 약어를 사용하지 않고 모든 의미를 충분히 담는다. +한 글자로 된 이름을 사용하지 않는다. +선언된 지점에서 초기화하며, 가능한 사용범위를 최소화 한다. 숫자 0 레퍼런스 null +반복문에서 인덱스로 사용할 변수는 i,j,k 등으로 사용한다. +Ex) for(int i = 0; i < 10; i++){} + +지역변수와 멤버변수(전역변수)는 변수명 앞에 밑줄(_)을 사용하여 구별한다. +boolean타입의 변수는 접두사로 is를 사용한다 Ex) isCheck + + +모듈은 가장 상위에 위치하는 구현의 단위, + +컴포넌트는 런타임 엔티티를 참조하는 단위라고 생각하면 + +금방 그 차이를 이해 할 수 있을거라고 생각된다. + +따라서 모듈과 컴포넌트는 상위와 하위관계를 명확히 구분짓기 어렵고 + +서로 다른 개념으로 바라보아야 한다고 생각한다. + +그렇기 때문에 모듈 1000개가 모여 하나의 컴포넌트가 될 수도있고, + +컴포넌트 1000개가 모여서 하나의 모듈을 구성 지을 수도있다. + + + +쉽게 설명해서, 모듈이란 실질적으로 구현이 된 단위를 의미한다. + +자료구조, 알고리즘 등 이를 제공하는 인터페이스라고도 할 수 있을 것이다. + + + +반면, 컴포넌트는 실제적으로 동작하고있는 엔티티로써 + +활동중인 독립적인 단위를 중점적으로 보고 있다. + + + +상위에 있는 링크에서는 서버와 클라이언트의 예로 설명하고 있다. + +1개의 서버에게 서비스를 제공받는 100개의 클라이언트가 존재한다고 가정하자. + +위에 설명한 내용으로 모듈, 컴포넌트의 개수를 각각 세어보면 + +서버가 구현된 모듈 1개, 클라이언트가 구현된 모듈 1개이므로 + +이 시스템 인프라의 총 모듈 개수는 2개이다. + +컴포넌트의 경우 실제 동작하고 있는 엔티티를 의미하므로 총 101개가 된다. \ No newline at end of file FishEye: Tag 67cae89adb177231fbea9029bda4436a470cd8a6 refers to a dead (removed) revision in file `NamingRule.txt'. FishEye: No comparison available. Pass `N' to diff? Index: pom.xml =================================================================== diff -u -re968b2d30c839fd6fb37469ec1cba71732788ec3 -r67cae89adb177231fbea9029bda4436a470cd8a6 --- pom.xml (.../pom.xml) (revision e968b2d30c839fd6fb37469ec1cba71732788ec3) +++ pom.xml (.../pom.xml) (revision 67cae89adb177231fbea9029bda4436a470cd8a6) @@ -349,7 +349,14 @@ maven-javadoc-plugin 3.1.0 - + org.umlgraph.doclet.UmlGraphDoc + + org.umlgraph + umlgraph + 5.6 + + -views -all + true