Spring boot

[Spring Boot] Bank App (5) - ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

๋ฏธ๋กœ910 2024. 8. 13. 12:38
๐Ÿ’ก์ฝ”๋”ฉ ์ปจ๋ฒค์…˜(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