๊ณต๋ถ€ ์—ฐ์Šต์žฅ :-)

TIL_20171127 ~ 20171202

|

์ด๋ฒˆ ์ฃผ์— ๋ฐฐ์šด / ๋Š๋‚€ ๊ฒƒ

  • ๊ฑฐ์˜ ์ขŒํ‘œ๊ณ„์‚ฐ๊ธฐ ๋ฏธ์…˜์—๋งŒ ๋งค๋‹ฌ๋ ธ๋˜ ํ•œ ์ฃผ ์˜€๋‹คโ€ฆ!

  • ๋ฐ˜๋ณต๋ฌธโ€ฆ
    • ๋ฐ˜๋ณต๋ฌธ ์•ˆ์˜ ์กฐ๊ฑด๋ฌธ์„ ์“ธ๋•Œ ์ฐฉ๊ฐํ•ด์„œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ๋ณด๋‹ค ๋” ๋ฐ˜๋ณต์ด ๋œ๋‹ค๋˜์ง€, ๋œ ๋œ๋‹ค๋˜์ง€ ํ•˜๋Š” ์‹ค์ˆ˜๊ฐ€ ์žฆ์•˜๋‹ค. ์˜ˆ๋ฅผ๋“ค๋ฉด Array์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ž๊พธ๋งŒ ๋งˆ์ง€๋ง‰ ๊ฐ’๋งŒ ๋“ค์–ด๊ฐ€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์„œ ๋””๋ฒ„๊น…์„ ์ด๋ฐฉ๋ฒ• ์ €๋ฐฉ๋ฒ•์œผ๋กœ ํ–ˆ๋Š”๋ฐ ์•Œ๊ณ ๋ณด๋‹ˆ for๋ฌธ scope๋ฐ–์—์„œ .append๋ฅผ ํ–ˆ๋˜ ๋ฌธ์ œ์˜€๋‹ค. ๋ฐ˜๋ณตํ•ด์„œ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๋กœ์ง์—์„œ๋Š” scope์— ์ฃผ์˜ํ•˜๊ณ  ์กฐ๊ฑด๋ฌธ์— ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ๋ฐ˜๋ณต๋ฌธ ๋‚ด์— ์žˆ๋Š” ๋ชจ๋“  ์ฝ”๋“œ๋Š” ๋ฐ˜๋ณต๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ผญ๊ผญ ๊ธฐ์–ตํ•ด์•ผ๊ฒ ๋‹ค!
    • ์ขŒํ‘œ๊ณ„์‚ฐ๊ธฐ ๋ฏธ์…˜์˜ mainํŒŒ์ผ์— while๋ฌธ ์ถ”๊ฐ€ : while๋ฌธ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ข…๋ฃŒ์กฐ๊ฑด์„ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ, ์›๋ž˜ ์—๋Ÿฌ์ฒ˜๋ฆฌ๋„ ํ•˜๋˜ ๋กœ์ง์ด๋ผ์„œ ์ข€ ๊นŒ๋‹ค๋กœ์› ๋Š”๋ฐ ์•ž์œผ๋กœ ๋ฏธ์…˜ ๋งŒ๋“ค๋ฉด์„œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰๊ณผ ์ข…๋ฃŒ์—๋Š” ์ข…๋ฃŒ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•ด์„œ ์—ฐ์Šต์€ ๊ณ„์†ํ•ด์•ผ๊ฒ ๋‹ค.
  • ํ”„๋กœํ† ์ฝœ
    • MyPoint์ฒ˜๋Ÿผ ๋งŒ๋“  ๊ฐ์ฒด๋ฅผ Equatable ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์„œ ํ•„์š”ํ•œ๋Œ€๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ๊ฐ™์ด ์ฒ˜์Œ์— ์ดํ•ด๊ฐ€ ๋ชจํ˜ธํ•˜๊ฒŒ ๋๋˜ ๊ฐœ๋…๋“ค์€ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ ์  ๋” ์ต์ˆ™ํ•ด์ง€๋Š”๊ฒƒ๊ฐ™๋‹ค.
    • ํ”„๋กœํ† ์ฝœ ์ปดํฌ์ง€์…˜ : ์›๋ž˜ ํ•˜๋‚˜์˜ ํ”„ํ† ์ฝœ๋กœ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋˜ ๊ฐ์ฒด๋“ค์ด ๊ธฐ๋Šฅ์ด ์ ์  ์ถ”๊ฐ€๋˜๋ฉด์„œ, ํ•˜๋‚˜์˜ ํ”„๋กœํ† ์ฝœ๋กœ ์™„๋ฒฝํžˆ ์ถ”์ƒํ™”๊ฐ€ ์–ด๋ ค์›Œ์กŒ๋‹ค. ์ด๋Ÿฐ๊ฒฝ์šฐ, ์•„์˜ˆ ๊ณตํ†ต๋˜๋Š” ๊ธฐ๋Šฅ๋งŒ์œผ๋กœ ํ”„๋กœํ† ์ฝœ์„ ํ•˜๋‚˜ ๋” ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฐ์ฒด๋งŒ ์ƒˆ๋กœ์šด ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•˜๊ฒŒ ๋‚˜๋ˆ ์„œ ๊ตฌํ˜„ํ•œ๋‹ค.
      • ex)ResultByShape ํ”„๋กœํ† ์ฝœ - ์ถœ๋ ฅ๋˜๋Š” ๊ฒฐ๊ณผ๊ฐ’์˜ ์œ ๋ฌด๊ฐ€ ๊ฐ ๋„ํ˜•๋งˆ๋‹ค ๋‹ฌ๋ผ์„œ MyShapeํ”„๋กœํ† ์ฝœ์ด ๊ฒฐ๊ณผ ์ถœ๋ ฅ๊ณผ ๊ด€๋ จ๋œ ํ•จ์ˆ˜๋ฅผ ๊ฐ–๊ณ ์žˆ๋Š”๊ฒŒ ์ ์ ˆ์น˜ ์•Š์•˜์Œ. ๊ฒฐ๊ณผ ์ถœ๋ ฅ์„ ํ•˜๋Š” ํ•จ์ˆ˜๋งŒ ๋”ฐ๋กœ ResultByShapeํ”„๋กœํ† ์ฝœ์— ์ƒˆ๋กœ ์ •์˜ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๋„ํ˜•๊ฐ์ฒด๋งŒ ์ค€์ˆ˜ํ•˜๊ฒŒ ๊ตฌํ˜„.
        drawPoint()ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ํ”„๋กœํ† ์ฝœ ์ปดํฌ์ง€์…˜(MyShape & ResultByShape)๋ฅผ ๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ •.
  • ์—๋Ÿฌํ•ธ๋“ค๋ง
    • do-catch๋ฌธ์„ ์—๋Ÿฌํƒ€์ž…์— ๋”ฐ๋ผ์„œ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ์ข€๋” ์ต์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    • ์—๋Ÿฌ์ผ€์ด์Šค enum์„ Errorํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•˜๋„๋ก ์„ค๊ณ„ํ•ด์„œ ๊ฐ™์€ ํƒ€์ž…์˜ ์—๋Ÿฌ๋ฅผ ๋˜ ์—๋Ÿฌ ์ผ€์ด์Šค์— ๋”ฐ๋ผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ค‘๋ณต๋˜๊ฒŒ ์ž‘์„ฑํ–ˆ๋˜ catch๋ฌธ์„ case์— ๋”ฐ๋ผ์„œ ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • ์ ˆ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœํผํ‹ฐ magnitude
  • ์œ ๋‹›ํ…Œ์ŠคํŠธ ํ™œ์šฉ
  • ์—ฐ์‚ฐํ˜• ํ”„๋กœํผํ‹ฐ
  • staticํ™œ์šฉ

Comments