Oracle 가이드는 다음과 같으니 참고하시길
https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html
Code Conventions for the Java Programming Language: 1. Introduction
We’re sorry. We could not find a match for your search. We suggest you try the following to help find what you’re looking for: Check the spelling of your keyword search. Use synonyms for the keyword you typed, for example, try "application" instead of
www.oracle.com
네이밍 컨벤션에 대해 좀 정리해보았다.
기본적인 명명규칙
| Package | 모두 소문자로 표시. 조직의 내부적인 고유한 Naming Convention을 그대로 따르면 된다. | com.sun.eng com.apple.quicktime.v2 edu.cmu.cs.bovik.cheese |
| Class | 명사여야 하며, 파스칼 표기법. 가급적이면 약어를 피한다. |
class Raster; class ImageSprite; |
| Interface | 파스칼 표기 | interface RasterDelegate; interface Storing; |
| Methods | 카멜표기법을 따르며, 동사여야 한다. | run(); runFast(); getBackground(); |
| Variables | 짧으면서도 의미가 있어야 한다. 그렇다고 하나의 스펠링으로 만들어도 안된다. 다만, 임시변수는 i, j, k, m을 많이 사용하는 편이며, integers를 위한 임시변수는 n을 사용한다. character를 위한 임시변수는 c, d, e 가 있다. 파라미터로 다니는 변수는 소문자와 언더바'_'로 표시한다. 그래야 사용할때 로컬변수와 구분할 수 있다. |
int i; char c; float myWidth; |
| Constrants | 모두 대문자, 언더바(_)로 구분 | static final int MIN_WIDTH = 4; static final int MAX_WIDTH = 999; static final int GET_THE_CPU = 1; |
Class 명명규칙
| 명명규칙 | 비고 | |
| Controller | Domain명 + Controller | |
| Service | 좀더 세분화하면 좋다. OrderRegisterService |
도메인명을 그대로 따르는것은 피한다. 예) OrderService (X) |
Method 명명규칙
| Controller의 Method는 다음과 같은 접미사를 붙인다. | 기능 |
| orderList() | 목록조회 유형 |
| orderDetails() | 단건 상세조회 유형 |
| orderSave() | 등록/수정/삭제가 동시에 일어나는 유형 |
| orderAdd() | 등록만 하는 유형 |
| orderModify() | 수정만 하는 유형 |
| orderRemove() | 삭제만 하는 유형 |
| Service의 Method는 다음과 같은 접두사를 붙인다. | 기능 |
| findOrder() | 조회 유형 |
| addOrder() | 등록 유형 |
| modifyOrder() | 변경유형 |
| removeOrder() | 삭제유형 |
| saveOrder() | 등록/수정/삭제가 동시에 일어나는 유형 |
| Mapper(Dao)의 Method는 다음과 같은 접두사를 붙인다. | 기능 |
| selectOrder() | 조회 유형 |
| insertOrder() | 등록 유형 |
| updateOrder() | 변경 유형 |
| deleteOrder() | 삭제 유형 |
| selectListOrder() | 목록 조회 유형 |
| selectPagingListOrder() | 목록 조회 유형(페이징처리) |
그외 지켜야 할 것들
- Controller에서는 Service 호출과 Exception 처리만을 담당한다.
- Package는 목적(업무)별로 생성한다.
- 하나의 Class 내부에는 같은 목적만을 가진 코드가 존재하여야 한다.
- 하나의 Method는 한가지 기능만을 가져야 한다.
- Class와 Method는 가능한한 작게 만든다.
→ 여러 기능이 모인 적은수의 큰 Class보다는 목적이 뚜렷한 작은 Class 여러개로 이루어진 시스템이 바람직 하다.
'Programming > 기타' 카테고리의 다른 글
| 네이밍 컨벤션 최종정리 (0) | 2023.08.28 |
|---|---|
| 코드 품질올리기, 코드 설계 - 1 이름의 중요성과 모델링 (0) | 2023.08.28 |
| GraphQL Apollo 서버와 MySQL 연동 (0) | 2023.04.01 |
| Graph QL이란 (0) | 2022.06.22 |
| (기사스크랩) 개발자가 알아야 할 클라우드 프로그래밍 언어 11가지 (1) | 2022.06.16 |