๋ง์ฝ์ ์ฐ๊ทน ์ข
๋ฅ๊ฐ ์ถ๊ฐ๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ์ด์ ๋คํ์ฑ์ผ๋ก ๋ณ๊ฒฝํ ์์ ์ด๋ค.
๋คํ์ฑ์ ํ์ฉํด ๊ณ์ฐ์ฝ๋ ์ฌ๊ตฌ์ฑํ๊ธฐ
- ์ง๊ธ๊น์ง ๊ตฌ์ฑํ ์ฝ๋๋ฅผ ํ๋ฒ ๋ณด์.
- ์ด๋ฒ์๋ ์ฐ๊ทน ์ฅ๋ฅด๋ฅผ ์ถ๊ฐํด๋ณด์.
- ์ฐ๊ทน ์ฅ๋ฅด๋ผ ํจ์ โcomedyโ์ ๊ฐ์ด ํ๊ธฐ๋๊ฑธ ๋งํ๋ค.
- ๊ทธ๋ ๊ฒ ๋๋ฉด
amountFor()
ํจ์๋ฅผ ๊ฑด๋ค๊ณ , ์ฌ๊ธฐ์ ์ฒ๋ฆฌํ ์ ๋ฐ์ ์๋ค.
switch
๋ฌธ์ ์ฌ์ฉํ๊ฒ ๋๊ณ , ํ์ฅ์ด ๋ ์๋ก ๊ณจ์นซ๊ฑฐ๋ฆฌ๊ฐ ๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ํ์
ํ ์ ์๋ค.
- ์ด๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ๊ตฌ์กฐ์ ์ธ ์์๋ก ๋ณด์ํด์ผ ํ๋ค. ์ฌ๊ธฐ์ ์ฌ์ฉํ ๋ฐฉ๋ฒ์ ๋คํ์ฑ์ด๋ค.
- ์กฐ๊ฑด๋ถ ๋ก์ง์ ๋คํ์ฑ์ผ๋ก ๋ฐ๊พธ๊ธฐ๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
- ์์ ๊ณ์ธต์ ๊ตฌ์ฑํ์ฌ ๊ฐ๊ฐ์ ์๋ธ ํด๋์ค๊ฐ ๊ตฌ์ฒด์ ์ธ ๊ณ์ฐ ๋ก์ง์ ์ ์ํ ์ ์๋๋ก ํ์.
- ์์ ๋ฆฌํฉํ ๋ง์ ํด๋์๊ธฐ ๋๋ฌธ์
createStatementData.js
์๋ง ์ง์คํ๋ฉด ๋๋ค.
๊ณต์ฐ๋ฃ ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ
- ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด,
amountFor()
ํจ์๊ฐ aPerformance
๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ทธ ์์์
type
์ ๋ฐ๋ผ ๊ณ์ฐ๋ก์ง์ด ๋ถ๊ธฐ๋๊ณ ์๋ค.
volumeCreditsFor()
ํจ์๋ ๋ง์ฐฌ๊ฐ์ง๋ค.
- ์์ ๋ ํจ์๋ฅผ ์ ์ฉ ํด๋์ค๋ก ์ฎ๊ธฐ์. (
PerformanceCalculator
)
- ์ปดํ์ผ - ํ
์คํธ - ์ปค๋ฐํ๋ค.
- ์ผ๋จ ์ด ๊ณ์ฐ๊ธฐ์์ ๋ชจ๋ ์ ๋ณด๋ฅผ ๊ณ์ฐํ ์ ์๋๋ก ๋ณ๊ฒฝํด๋ณด์.
- ์ฐ๊ทน ๋ ์ฝ๋๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ํด๋น ์ ๋ณด๋ฅผ ์ผ๋จ ์์ผ๋ก ๋ฐ์๋ณด์.
ํจ์๋ค์ ๊ณ์ฐ๊ธฐ๋ก ์ฎ๊ธฐ๊ธฐ
- ์ด ๋ค์์ ๊ณต์ฐ๋ฃ ๊ณ์ฐ ๋ก์ง์ด๋ค.
- ์ฌ๊ธฐ์๋ถํฐ ์์
์ด ์ข ์ปค์ง๋ค.
- ์ผ๋จ
amountFor()
ํจ์๋ฅผ ์ฎ๊ฒจ๋ณด์.
- ์์
PerfomanaceCalculator
ํด๋์ค ์์์ ์์
๊ฐ๋ฅํ๋๋ก ํ์.
amountFor()
ํจ์๋ฅผ PerformanceCalculator
ํด๋์ค๋ก ์ฎ๊ฒผ๋ค.
- ๋ค์์ ์ ๋ฆฝ ํฌ์ธํธ ๋ถ๋ถ์ด๋ค.
๊ณต์ฐ๋ฃ ๊ณ์ฐ๊ธฐ๋ฅผ ๋คํ์ฑ ๋ฒ์ ์ผ๋ก ๋ง๋ค๊ธฐ
- ์ด์
PerformanceCalculator
ํด๋์ค๋ฅผ ๋คํ์ฑ์ผ๋ก ๋ฐ๊ฟ๋ณด์.
- ๊ฐ์ฅ ๋จผ์ ํ ์ผ์
.type
๋์ ์๋ธํด๋์ค๋ฅผ ์ฌ์ฉํ๋๋ก ๋ฐ๊พธ๋ ๊ฒ์ด๋ค. (ํ์
์ฝ๋๋ฅผ ์๋ธํด๋์ค๋ก ๋ฐ๊พธ๊ธฐ)
- ์ผ๋จ ํฉํ ๋ฆฌ ํจ์๋ฅผ ๋ง๋ค์.
- ์ปดํ์ผ - ํ
์คํธ - ์ปค๋ฐํ๋ค.
- ์ด์ ๋คํ์ฑ์ผ๋ก ๋ฐ๊ฟ๋ณด์.
- ์ปดํ์ผ - ํ
์คํธ - ์ปค๋ฐํ๋ค.
- ๋ค์์ผ๋ก๋
volumeCredits()
ํจ์๋ฅผ ์ฎ๊ฒจ๋ณด์.
Reference