본문 바로가기

Spring boot/Bank App 만들기(deployment)

Bank App 만들기 ( deployment ) - 코딩 컨벤션 ( Coding Convention )

코딩 컨벤션 (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(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)

 

 

 

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

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

 

Google Style Guides

Style guides for Google-originated open-source projects

google.github.io

728x90