Backend/Java&Spring

[bankApp04] μ½”λ”© μ»¨λ²€μ…˜

JINJINC 2025. 1. 14. 15:43
728x90
λ°˜μ‘ν˜•
πŸ’‘ μ½”λ”© μ»¨λ²€μ…˜(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
λ°˜μ‘ν˜•
λŒ“κΈ€μˆ˜0