Code Convention - be14-fin-Clover-Salad/be14-fin-Clover-Salad-BE GitHub Wiki

Java ์ฝ”๋“œ ์ปจ๋ฒค์…˜


1. ํŒŒ์ผ ๊ณตํ†ต ์š”๊ฑด

  • UTF-8 ์ธ์ฝ”๋”ฉ ์‚ฌ์šฉ
  • LF (Line Feed) ์ƒˆ์ค„ ๋ฌธ์ž ์‚ฌ์šฉ
  • ํŒŒ์ผ ๋์—๋Š” ์ƒˆ์ค„ ๋ฌธ์ž ์‚ฝ์ž…

2. ์ด๋ฆ„ ๊ทœ์น™ (Naming)

  • ์˜๋ฌธ/์ˆซ์ž/์–ธ๋”์Šค์ฝ”์–ด๋งŒ ์‚ฌ์šฉ
  • ํ•œ๊ธ€ ๋ฐœ์Œ ํ‘œ๊ธฐ ๊ธˆ์ง€ (์˜ˆ: moohyungJasan โŒ โ†’ intangibleAssets โœ…)
  • ์•ฝ์–ด ํ‘œ๊ธฐ ๋ช…์‹œ (์˜ˆ: HttpAPIUrl, HTTPAPIURL ๋“ฑ ํ”„๋กœ์ ํŠธ ๊ธฐ์ค€ ์ •์˜ ํ•„์š”)
  • ํŒจํ‚ค์ง€๋ช…: ๋ชจ๋‘ ์†Œ๋ฌธ์ž ์‚ฌ์šฉ (com.example.service โœ…)
  • ํด๋ž˜์Šค/์ธํ„ฐํŽ˜์ด์Šค๋ช…: UpperCamelCase ์‚ฌ์šฉ
  • ํด๋ž˜์Šค ์ด๋ฆ„์€ ๋ช…์‚ฌ, ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ช…์‚ฌ/ํ˜•์šฉ์‚ฌ
  • ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค: ์ ‘๋ฏธ์–ด๋กœ Test
  • ๋ฉ”์„œ๋“œ๋ช…: lowerCamelCase, ๋™์‚ฌ ๋˜๋Š” ์ „์น˜์‚ฌ๋กœ ์‹œ์ž‘
  • ์ƒ์ˆ˜: ๋ชจ๋‘ ๋Œ€๋ฌธ์ž + ์–ธ๋”์Šค์ฝ”์–ด (์˜ˆ: MAX_SIZE)
  • ์ผ๋ฐ˜ ๋ณ€์ˆ˜: lowerCamelCase ์‚ฌ์šฉ
  • ์ž„์‹œ ๋ณ€์ˆ˜ ์™ธ์—๋Š” ํ•œ ๊ธ€์ž ๋ณ€์ˆ˜๋ช… ๊ธˆ์ง€

3. ์„ ์–ธ ๊ทœ์น™

  • ์†Œ์Šค ํŒŒ์ผ ๋‹น 1๊ฐœ์˜ ํƒ‘๋ ˆ๋ฒจ ํด๋ž˜์Šค
  • import ์‹œ ์™€์ผ๋“œ์นด๋“œ(*) ์‚ฌ์šฉ ๊ธˆ์ง€ (static import๋งŒ ํ—ˆ์šฉ)
  • ์ œํ•œ์ž ์ˆœ์„œ: public protected private abstract static final โ€ฆ (JLS ๊ธฐ์ค€)
  • ์• ๋„ˆํ…Œ์ด์…˜ ๋‹ค์Œ ์ƒˆ ์ค„ ์‚ฝ์ž…
  • ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ๋ฌธ์žฅ / ๋ณ€์ˆ˜ ์„ ์–ธ
  • ๋ฐฐ์—ด์€ ํƒ€์ž… ๋’ค์— []
  • long์€ ๋Œ€๋ฌธ์ž L๋กœ ์ ‘๋ฏธ
  • ํŠน์ˆ˜๋ฌธ์ž ์ด์Šค์ผ€์ดํ”„๋Š” ์ „์šฉ ๊ธฐํ˜ธ ์‚ฌ์šฉ (\\n, \\t ๋“ฑ)

4. ๋“ค์—ฌ์“ฐ๊ธฐ

  • ํ•˜๋“œํƒญ ์‚ฌ์šฉ (์ŠคํŽ˜์ด์Šค X)
  • ํƒญ ํฌ๊ธฐ: 4 ์ŠคํŽ˜์ด์Šค
  • ๋ธ”๋Ÿญ ์ค‘์ฒฉ๋งˆ๋‹ค 1๋‹จ๊ณ„ ๋“ค์—ฌ์“ฐ๊ธฐ

5. ์ค‘๊ด„ํ˜ธ { }

  • K&R ์Šคํƒ€์ผ ์‚ฌ์šฉ

    if (a > b) {
        return a;
    } else {
        return b;
    }
    
    

6. ์ค„๋ฐ”๊ฟˆ (Line-wrapping)

  • ์ตœ๋Œ€ ์ค„ ๊ธธ์ด: 120์ž
  • package, import๋Š” ํ•œ ์ค„์— ์ž‘์„ฑ
  • ์ค„๋ฐ”๊ฟˆ ์‹œ ๋‹ค์Œ ์ค„์€ 1๋‹จ๊ณ„ ์ด์ƒ ๋“ค์—ฌ์“ฐ๊ธฐ
  • ์ค„๋ฐ”๊ฟˆ ํ—ˆ์šฉ ์œ„์น˜:
    • extends, implements, throws ๋’ค
    • ๊ด„ํ˜ธ (, ์ฝค๋งˆ , ๋’ค
    • ๋งˆ์นจํ‘œ(.), ์—ฐ์‚ฐ์ž (+, -, ==, &&, ๋“ฑ) ์•ž

7. ๋นˆ ์ค„ (Blank lines)

  • package ์„ ์–ธ ํ›„ ๋นˆ ์ค„ ์‚ฝ์ž…
  • import๋Š” ๊ทธ๋ฃน๋ณ„ ์ •๋ ฌ ํ›„ ๋นˆ ์ค„๋กœ ๊ตฌ๋ถ„
  • ๋ฉ”์„œ๋“œ ์„ ์–ธ ์‚ฌ์ด์— ๋นˆ ์ค„ ์‚ฝ์ž…

8. ๊ณต๋ฐฑ (Whitespace)

  • ์ค„ ๋์— ๊ณต๋ฐฑ ๊ธˆ์ง€
  • ๋ฐฐ์—ด, ์ค‘๊ด„ํ˜ธ, ์†Œ๊ด„ํ˜ธ ๋’ค์— ์ ์ ˆํ•œ ๊ณต๋ฐฑ ์‚ฝ์ž…
  • ์ œ์–ด๋ฌธ ํ‚ค์›Œ๋“œ์™€ ๊ด„ํ˜ธ ์‚ฌ์ด: ๊ณต๋ฐฑ ์‚ฝ์ž… (์˜ˆ: if (a > b))
  • ๋ฉ”์„œ๋“œ๋ช…/์ƒ์„ฑ์ž ๋’ค ์†Œ๊ด„ํ˜ธ: ๊ณต๋ฐฑ ์‚ฝ์ž… ๊ธˆ์ง€
  • ํ˜•๋ณ€ํ™˜ ๊ด„ํ˜ธ ๋‚ด๋ถ€ ๊ณต๋ฐฑ ์—†์Œ (์˜ˆ: (String)value)
  • ์ œ๋„ค๋ฆญ ๊บพ์‡ ๊ด„ํ˜ธ <T>์— ๊ณต๋ฐฑ ์‚ฝ์ž… ๊ธˆ์ง€
  • ์ฝค๋งˆ ,, ์„ธ๋ฏธ์ฝœ๋ก  ; ๋’ค์—๋งŒ ๊ณต๋ฐฑ ์‚ฝ์ž…
  • ์ฝœ๋ก  :์€ ์•ž๋’ค ๊ณต๋ฐฑ ์‚ฝ์ž…
  • ์ดํ•ญ/์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” ์•ž๋’ค ๊ณต๋ฐฑ
  • ๋‹จํ•ญ ์—ฐ์‚ฐ์ž๋Š” ๊ณต๋ฐฑ ์‚ฝ์ž… ๊ธˆ์ง€
  • ์ฃผ์„๋ฌธ ๊ธฐํ˜ธ ์•ž๋’ค์— ๊ณต๋ฐฑ ์‚ฝ์ž