코딩 컨벤션(coding convention)은 특정 프로그래밍 언어로 코드를 작성할 때 따르는 스타일 가이드 또는 규칙 세트 이다. 이는 변수명, 메서드명, 클래스명의 네이밍 규칙, 들여쓰기, 주석 작성 법, 파일 구조, 코드 정렬 방식 등 프로그램의 가독성, 유지보수성, 일관성을 향상시키기 위한 방법론을 포함한다.
코딩 컨벤션 정의
1. 정적 파일 (CSS, XML, JS)
- 규칙 : 소문자 사용, 단어 간 구분은 스네이크 케이스 (_)로 한다.
- 예시 : style_sheet.css, config_file.xml, main_script.js
2. JSP 파일
- 규칙 : 카멜 케이스(CamelCase)를 사용하여 첫 글자는 소문자로 시작한다.
- 예시 : home.jsp, accountPage.jsp
3. 자바 파일 (클래스)
- 규칙 : 파스칼 케이스(PascalCase)를 사용하여 각 단어의 첫 글자는 대문자로 시작한다.
- 예시 : HomeController.java, AccountService.java
4. HTML id, name 속성
- 규칙 : 카멜 케이스를 사용하여 첫 글자는 소문자로 시작한다.
- 예시 : <input id="userName" name="userName"/>
5. CSS 클래스
- 규칙 : 소문자 사용, 단어 간 구분은 하이픈(-)(-)으로 한다. 외부 라이브러리와의 충돌 방지를 위해 접두사를 사용하는 것을 권장한다.
- 예시 : .btn--primary, .nav--item
6. URL 주소 설계
- 규칙 : 모두 소문자 사용, 단어 간 구분은 하이픈(-) 으로 한다.
- 예시 : /user-profile, /get-account-details
7. 데이터베이스 테이블
- 규칙 : 소문자 사용, 단어 간 구분은 스네이크 케이스로 한다.
- 예시 : user_account, transaction_history
8. 함수명(서비스 레이어)
- 규칙 : 카멜 케이스를 사용하여 첫 글자는 소문자로 시작한다. 함수가 수행하는 동작과 객체를 명확하게 표현한다.
- 예시 : saveAccountDetails(Account account), findUserById(Lond id)
서비스 레이어
서비스 레이어에서의 메서드 네이밍은 코드의 가독성과 유지보수성에 큰 영향을 미친다. 명확하고 일관된 네이밍 컨벤션을 사용함으로써, 코드를 더 쉽게 이해하고 다른 개발자들이 코드와 상호작용할 때 발생할 수 있는 혼란을 최소화 할 수 있다. 아래는 서비스 레이어에서 널리 사용되는 네이밍 컨벤션 규칙이다.
CRUD 연산
Create : 새로운 엔티티를 생성하는 메서드는 create로 시작한다.
예 ) createUser(User user)
Read : 엔티티를 조회하는 메서드는 read, find, get 등으로 시작할 수 있다. 단순 조회 뿐만 아니라 조건에 따른 검색을 포함한다.
예 ) readUser(Long id), findUserByUsername(String username), getUserDetails(Long userId)
Update : 엔티티를 수정하는 메서드는 update로 시작한다.
예 ) updateUser(User user)
Delete : 엔티티를 삭제하는 메서드는 delete로 시작한다.
예 ) deleteUser(Long id)
조회 연산
findBy : 특정 조건을 만족하는 엔티티를 찾을 때 사용
예 ) findByUsername(String username)
findAllBy : 주어진 조건을 만족하는 모든 엔티티를 찾을 때 사용
예 ) findAllByStatus(String status)
countBy : 특정 조건을 만족하는 엔티티의 수를 계산할 때 사용
예 ) countByStatus(String status)
명확한 도메인 객체 처리 표현
메서드 이름은 처리하는 특정 도메인 객체를 명확하게 나타내야 한다. 이는 메서드의 목적이나 수행하는 작업을 직관적으로 이해할 수 있게 해준다.
예 ) getOrderListByUserId(Long userId), updateUserProfilePicture(User user, Image picture)
구글 코딩 컨벤션 사례 살펴보기
https://google.github.io/styleguide/
Google Style Guides
Style guides for Google-originated open-source projects
google.github.io
'Spring boot' 카테고리의 다른 글
| Bank App 만들기 - 모델링 (0) | 2024.08.06 |
|---|---|
| REST API (0) | 2024.08.06 |
| Bank App 만들기 - 패키지 설정 (0) | 2024.08.06 |
| Bank App 만들기 - yml 파일 설정하기 (0) | 2024.08.06 |
| Bank App 만들기 - 프로젝트 설정 (0) | 2024.08.06 |