Coding Convention - dnd-side-project/dnd-11th-5-backend GitHub Wiki

๊ธฐ๋ณธ

Java ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์˜ ๊ฒฝ์šฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์บ ํผ์Šค ํ•ต๋ฐ์ด Java ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ ๋ฅผ ๋”ฐ๋ฅด๋˜ ์ผ๋ถ€ ์ˆ˜์ •ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

๋„ค์ด๋ฐ

  • ํด๋ž˜์Šค : UpperCamelCase, andยทor์™€ ๊ฐ™์€ ์ ‘์†์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  25์ž ๋‚ด์™ธ๋กœ ์ž‘์„ฑ
  • ํ•จ์ˆ˜ : lowerCamelCase
  • ๋ณ€์ˆ˜, ์ƒ์ˆ˜ : lowerCamelCase
  • DB ํ…Œ์ด๋ธ”: lower_snake_case
  • ํŒจํ‚ค์ง€: kebab-case
  • ENUM, ์ƒ์ˆ˜: Upper_snake_case
  • ์ปฌ๋ ‰์…˜(Collection): ๋ณต์ˆ˜ํ˜•์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ปฌ๋ ‰์…˜์„ ๋ช…์‹œํ•œ๋‹ค. (Ex. UserList, ChallengeMap)
  • LocalDateTime: ์ ‘๋ฏธ์‚ฌ์— Time์„ ๋ถ™์ธ๋‹ค.
  • LocalDateTime: ์ ‘๋ฏธ์‚ฌ์— Date๋ฅผ ๋ถ™์ธ๋‹ค.

URL

URL์€ RESTful API ์„ค๊ณ„ ๊ฐ€์ด๋“œ์— ๋”ฐ๋ผ ์ž‘์„ฑํ•œ๋‹ค.

  • HTTP Method๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” get, put ๋“ฑ์˜ ํ–‰์œ„๋Š” url์— ํ‘œํ˜„ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋งˆ์ง€๋ง‰์— / ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • _(underbar) ๋Œ€์‹  -(dash)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ํ™•์žฅ์ž๋Š” ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.

IDE ์— ์ ์šฉํ•˜๊ธฐ

Static Code Analysis

  • code smell ์„ ์ตœ์†Œํ™” ํ•˜๊ธฐ ์œ„ํ•ด ci/cd ์— static code analysis์ธ sonarqube ๋ฅผ ์ด์šฉํ•˜์—ฌ, ๊ทœ์น™์„ ์ง€ํ‚ค์ง€ ์•Š์€ ๊ฒฝ์šฐ merge ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.
  • ํŽธ์˜๋ฅผ ์œ„ํ•ด intellJ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•œ๋‹ค.