Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

햄발

Bank App 만들기 - 코딩 컨벤션 본문

Spring boot

Bank App 만들기 - 코딩 컨벤션

햄발자 2024. 9. 26. 17:07

 

코딩 컨벤션(coding convention)은 특정 프로그래밍 언어로 코드를 작성할 때 따르는 스타일 가이드 또는 규칙 세트입니다. 이는 변수명, 메서드명, 클래스명의 네이밍 규칙, 들여쓰기, 주석 작성 방법, 파일 구조, 코드 정렬 방식 등 프로그램의 가독성, 유지보수성, 일관성을 향상시키기 위한 방법론을 포함합니다.

 

 

코딩 컨벤션 정의

  1. 정적 파일 (CSS, XML, JS)
    • 규칙: 소문자 사용, 단어 간 구분은 스네이크 케이스(_)로 합니다.
    • 예시style_sheet.cssconfig_file.xmlmain_script.js
  2. JSP 파일
    • 규칙: 카멜 케이스(CamelCase)를 사용하여 첫 글자는 소문자로 시작합니다.
    • 예시home.jspaccountPage.jsp
  3. 자바 파일 (클래스)
    • 규칙: 파스칼 케이스(PascalCase)를 사용하여 각 단어의 첫 글자는 대문자로 시작합니다.
    • 예시HomeController.javaAccountService.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_accounttransaction_history
  8. 함수명 (서비스 레이어)
    • 규칙: 카멜 케이스를 사용하여 첫 글자는 소문자로 시작합니다. 함수가 수행하는 동작과 객체를 명확하게 표현합니다.
    • 예시saveAccountDetails(Account account)findUserById(Long 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)

</aside>

 

구글 코딩 컨벤션 사례 살펴 보기

https://google.github.io/styleguide/

 

Google Style Guides

Style guides for Google-originated open-source projects