Skip to content

Latest commit

ย 

History

History
75 lines (64 loc) ยท 3.75 KB

File metadata and controls

75 lines (64 loc) ยท 3.75 KB

java-baseball-precourse

๊ธฐ๋Šฅ ๋ชฉ๋ก

  • ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ 3๊ฐœ์˜ ์ˆซ์ž ์ž…๋ ฅ ๋ฐ›๊ธฐ
  • ์ปดํ“จํ„ฐ ํ”Œ๋ ˆ์ด์–ด์˜ ๊ฒฝ์šฐ 1~9๊นŒ์ง€์˜ ์ค‘๋ณต๋˜์ง€ ์•Š์€ ๋žœ๋ค ์ˆซ์ž ์ƒ์„ฑ
  • ์‚ฌ์šฉ์ž์™€ ์ปดํ“จํ„ฐ์˜ ์ˆซ์ž ๋น„๊ต ํ•˜์—ฌ ๋ณผ๊ณผ ์ŠคํŠธ๋ผ์ดํฌ ํŒ๋‹จ
  • ๋ฐ˜๋ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ ์ŠคํŠธ๋ผ์ดํฌ์™€ ๋ณผ ๋น„๊ต
  • ์ž๋ฆฌ์™€ ์ˆซ์ž๊นŒ์ง€ ๋งž์œผ๋ฉด ์ŠคํŠธ๋ผ์ดํฌ
  • ์ˆซ์ž๋งŒ ๋งž์œผ๋ฉด ๋ณผ
  • ์•„๋ฌด๊ฒƒ๋„ ๋งž์ง€ ์•Š์œผ๋ฉด ๋‚ซ์‹ฑ
  • 3์ŠคํŠธ๋ผ์ดํฌ๋ฉด ๊ฒŒ์ž„ ์ข…๋ฃŒํ•˜๊ธฐ
  • ์ˆซ์ž๋Š” 3๋Œ€๋งŒ ๋“ค์–ด์˜ค๊ฒŒ ํ•จ
  • ์ˆซ์ž๋Š” 10์ด์ƒ์˜ ์ˆซ์ž๋Š” ๋“ค์–ด์˜ค์ง€ ์•Š๊ฒŒ ํ•จ

๊ณผ์ œ ์š”๊ตฌ ์‚ฌํ•ญ

  • ๋ฏธ์…˜์€ ์ˆซ์ž ์•ผ๊ตฌ ์ €์žฅ์†Œ๋ฅผ ํฌํฌํ•˜๊ณ  ํด๋ก ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
  • ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „ README.md ์— ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ ๋ชฉ๋ก์„ ์ •๋ฆฌํ•ด ์ถ”๊ฐ€ํ•œ๋‹ค.
  • Git์˜ ์ปค๋ฐ‹ ๋‹จ์œ„๋Š” ์•ž ๋‹จ๊ณ„์—์„œ README.md ์— ์ •๋ฆฌํ•œ ๊ธฐ๋Šฅ ๋ชฉ๋ก ๋‹จ์œ„๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.
  • AngularJS Git Commit Message Conventions์„ ์ฐธ๊ณ ํ•ด ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

๊ธฐ๋Šฅ ์š”๊ตฌ ์‚ฌํ•ญ

  • ๊ธฐ๋ณธ์ ์œผ๋กœ 1๋ถ€ํ„ฐ 9๊นŒ์ง€ ์„œ๋กœ ๋‹ค๋ฅธ ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ 3์ž๋ฆฌ์˜ ์ˆ˜๋ฅผ ๋งž์ถ”๋Š” ๊ฒŒ์ž„์ด๋‹ค#
    • ๊ฐ™์€ ์ˆ˜๊ฐ€ ๊ฐ™์€ ์ž๋ฆฌ์— ์žˆ์œผ๋ฉด ์ŠคํŠธ๋ผ์ดํฌ, ๋‹ค๋ฅธ ์ž๋ฆฌ์— ์žˆ์œผ๋ฉด ๋ณผ, ๊ฐ™์€ ์ˆ˜๊ฐ€ ์ „ํ˜€ ์—†์œผ๋ฉด ๋‚ซ์‹ฑ์ด๋ž€ ํžŒํŠธ๋ฅผ ์–ป๊ณ , ๊ทธ ํžŒํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋จผ์ € ์ƒ๋Œ€๋ฐฉ(์ปดํ“จํ„ฐ)์˜ ์ˆ˜๋ฅผ ๋งž์ถ”๋ฉด ์Šน๋ฆฌํ•œ๋‹ค.
      * e.g.
      * ์ƒ๋Œ€๋ฐฉ(์ปดํ“จํ„ฐ)์˜ ์ˆ˜๊ฐ€ 425์ผ ๋•Œ,
      * 123์„ ์ œ์‹œํ•œ ๊ฒฝ์šฐ: 1์ŠคํŠธ๋ผ์ดํฌ
      * 456์„ ์ œ์‹œํ•œ ๊ฒฝ์šฐ: 1๋ณผ 1์ŠคํŠธ๋ผ์ดํฌ
      * 789๋ฅผ ์ œ์‹œํ•œ ๊ฒฝ์šฐ: ๋‚ซ์‹ฑ 
      * ```
    ์œ„ ์ˆซ์ž ์•ผ๊ตฌ ๊ฒŒ์ž„์—์„œ ์ƒ๋Œ€๋ฐฉ์˜ ์—ญํ• ์„ ์ปดํ“จํ„ฐ๊ฐ€ ํ•œ๋‹ค. ์ปดํ“จํ„ฐ๋Š” 1์—์„œ 9๊นŒ์ง€ ์„œ๋กœ ๋‹ค๋ฅธ ์ž„์˜์˜ ์ˆ˜ 3๊ฐœ๋ฅผ ์„ ํƒํ•œ๋‹ค. ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด์–ด๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์ƒ๊ฐํ•˜๊ณ  ์žˆ๋Š”
    3๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๊ณ , ์ปดํ“จํ„ฐ๋Š” ์ž…๋ ฅํ•œ ์ˆซ์ž์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
    ์ด ๊ฐ™์€ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด ์ปดํ“จํ„ฐ๊ฐ€ ์„ ํƒํ•œ 3๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ๋งžํžˆ๋ฉด ๊ฒŒ์ž„์ด ์ข…๋ฃŒ๋œ๋‹ค.
    ๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•œ ํ›„ ๊ฒŒ์ž„์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์™„์ „ํžˆ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค.
    ์‚ฌ์šฉ์ž๊ฐ€ ์ž˜๋ชป๋œ ๊ฐ’์„ ์ž…๋ ฅํ•  ๊ฒฝ์šฐ IllegalArgumentException ์„ ๋ฐœ์ƒ์‹œํ‚จ ํ›„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•œ๋‹ค.
    
    

์‹คํ–‰ ๊ฒฐ๊ณผ

์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š” : 123 1๋ณผ 1์ŠคํŠธ๋ผ์ดํฌ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š” : 145 1๋ณผ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š” : 671 2๋ณผ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š” : 216 1์ŠคํŠธ๋ผ์ดํฌ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š” : 713 3์ŠคํŠธ๋ผ์ดํฌ 3๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ๋งžํžˆ์…จ์Šต๋‹ˆ๋‹ค! ๊ฒŒ์ž„ ์ข…๋ฃŒ ๊ฒŒ์ž„์„ ์ƒˆ๋กœ ์‹œ์ž‘ํ•˜๋ ค๋ฉด 1, ์ข…๋ฃŒํ•˜๋ ค๋ฉด 2๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”. 1 ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š” : 123 1๋ณผ โ€ฆ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ ์‚ฌํ•ญ 1

JDK 17 ๋ฒ„์ „์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์˜ ์‹œ์ž‘์ ์€ Application ์˜ main() ์ด๋‹ค. build.gradle ํŒŒ์ผ์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ์ œ๊ณต๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด์™ธ์˜ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์‹œ System.exit() ๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ ์‚ฌํ•ญ์—์„œ ๋‹ฌ๋ฆฌ ๋ช…์‹œํ•˜์ง€ ์•Š๋Š” ํ•œ ํŒŒ์ผ, ํŒจํ‚ค์ง€ ๋“ฑ์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์ด๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ ์‚ฌํ•ญ 2

์ž๋ฐ” ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ง€ํ‚ค๋ฉด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Google Java Style Guide์„ ์›์น™์œผ๋กœ ํ•œ๋‹ค. ๋‹จ, ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” '2 spaces'๊ฐ€ ์•„๋‹Œ '4 spaces'๋กœ ํ•œ๋‹ค. indent(์ธ๋ดํŠธ, ๋“ค์—ฌ์“ฐ๊ธฐ) depth๋ฅผ 3์ด ๋„˜์ง€ ์•Š๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค. 2๊นŒ์ง€๋งŒ ํ—ˆ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด while๋ฌธ ์•ˆ์— if๋ฌธ์ด ์žˆ์œผ๋ฉด ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” 2์ด๋‹ค. ํžŒํŠธ: indent(์ธ๋ดํŠธ, ๋“ค์—ฌ์“ฐ๊ธฐ) depth๋ฅผ ์ค„์ด๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ํ•จ์ˆ˜(๋˜๋Š” ๋ฉ”์„œ๋“œ)๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ๋œ๋‹ค. 3ํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ํ•จ์ˆ˜(๋˜๋Š” ๋ฉ”์„œ๋“œ)๊ฐ€ ํ•œ ๊ฐ€์ง€ ์ผ๋งŒ ํ•˜๋„๋ก ์ตœ๋Œ€ํ•œ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผ.