- ๋ฏธ์ ์ ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ, ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ์ฌํญ, ๊ณผ์ ์งํ ์๊ตฌ์ฌํญ ์ธ ๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ธ ๊ฐ์ ์๊ตฌ์ฌํญ์ ๋ง์กฑํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค. ํนํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ ์ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๋ง๋ค๊ณ , ๊ธฐ๋ฅ ๋จ์๋ก ์ปค๋ฐ ํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ค.
- ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ์ ๊ธฐ์ฌ๋์ง ์์ ๋ด์ฉ์ ์ค์ค๋ก ํ๋จํ์ฌ ๊ตฌํํ๋ค.
- ๋ฏธ์
๊ตฌํ์ ์๋ฃํ ํ GitHub์ ํตํด ์ ์ถํด์ผ ํ๋ค.
- GitHub์ ํ์ฉํ ์ ์ถ ๋ฐฉ๋ฒ์ ํ๋ฆฌ์ฝ์ค ๊ณผ์ ์ ์ถ ๋ฌธ์ ๋ฅผ ์ฐธ๊ณ ํด ์ ์ถํ๋ค.
- GitHub์ ๋ฏธ์
์ ์ ์ถํ ํ ์ฐ์ํํ
ํฌ์ฝ์ค ์ง์ ํ๋ซํผ ์ ์ ์ํ์ฌ ํ๋ฆฌ์ฝ์ค ๊ณผ์ ๋ฅผ ์ ์ถํ๋ค.
- ์์ธํ ๋ฐฉ๋ฒ์ ๋งํฌ ๋ฅผ ์ฐธ๊ณ ํ๋ค.
- Pull Request๋ง ๋ณด๋ด๊ณ , ์ง์ ํ๋ซํผ์์ ๊ณผ์ ๋ฅผ ์ ์ถํ์ง ์์ผ๋ฉด ์ต์ข ์ ์ถํ์ง ์์ ๊ฒ์ผ๋ก ์ฒ๋ฆฌ๋๋ ์ฃผ์ํ๋ค.
- ํฐ๋ฏธ๋์์
java -version์ ์คํํด ์๋ฐ 8์ธ์ง ํ์ธํ๋ค. ๋๋ Eclipse, IntelliJ IDEA์ ๊ฐ์ IDE์ ์๋ฐ 8๋ก ์คํํ๋์ง ํ์ธํ๋ค. - ํฐ๋ฏธ๋์์ ๋งฅ ๋๋ ๋ฆฌ๋
์ค ์ฌ์ฉ์์ ๊ฒฝ์ฐ
./gradlew clean test, ์๋์ฐ ์ฌ์ฉ์์ ๊ฒฝ์ฐgradlew.bat clean test๋ช ๋ น์ ์คํํ์ ๋ ๋ชจ๋ ํ ์คํธ๊ฐ ์๋์ ๊ฐ์ด ํต๊ณผํ๋์ง ํ์ธํ๋ค.
BUILD SUCCESSFUL in 0s
๋ฐํ๋๋ ๋์ ์ด ์ต์ํ์ด ๋๋ ์ํ๊ธฐ๋ฅผ ๊ตฌํํ๋ค.
- ์ํ๊ธฐ๊ฐ ๋ณด์ ํ๊ณ ์๋ ๊ธ์ก์ผ๋ก ๋์ ์ ๋ฌด์์๋ก ์์ฑํ๋ค.
- ํฌ์ ๊ธ์ก์ผ๋ก๋ ๋์ ์ ์์ฑํ์ง ์๋๋ค.
- ์๋์ ๋๋ ค์ค ๋ ํ์ฌ ๋ณด์ ํ ์ต์ ๊ฐ์์ ๋์ ์ผ๋ก ์๋์ ๋๋ ค์ค๋ค.
- ์งํ๋ฅผ ์๋์ผ๋ก ๋ฐํํ๋ ๊ฒฝ์ฐ๋ ์๋ค๊ณ ๊ฐ์ ํ๋ค.
- ์ํ๋ช
, ๊ฐ๊ฒฉ, ์๋์ ์
๋ ฅํ์ฌ ์ํ์ ์ถ๊ฐํ ์ ์๋ค.
- ์ํ ๊ฐ๊ฒฉ์ 100์๋ถํฐ ์์ํ๋ฉฐ, 10์์ผ๋ก ๋๋์ด๋จ์ด์ ธ์ผ ํ๋ค.
- ์ฌ์ฉ์๊ฐ ํฌ์ ํ ๊ธ์ก์ผ๋ก ์ํ์ ๊ตฌ๋งคํ ์ ์๋ค.
- ๋จ์ ๊ธ์ก์ด ์ํ์ ์ต์ ๊ฐ๊ฒฉ๋ณด๋ค ์ ๊ฑฐ๋, ๋ชจ๋ ์ํ์ด ์์ง๋ ๊ฒฝ์ฐ ๋ฐ๋ก ์๋์ ๋๋ ค์ค๋ค.
- ์๋์ ๋ฐํํ ์ ์๋ ๊ฒฝ์ฐ ์๋์ผ๋ก ๋ฐํํ ์ ์๋ ๊ธ์ก๋ง ๋ฐํํ๋ค.
- ๋ฐํ๋์ง ์์ ๊ธ์ก์ ์ํ๊ธฐ์ ๋จ๋๋ค.
- ์ฌ์ฉ์๊ฐ ์๋ชป๋ ๊ฐ์ ์
๋ ฅํ ๊ฒฝ์ฐ
IllegalArgumentException๋ฅผ ๋ฐ์์ํค๊ณ , "[ERROR]"๋ก ์์ํ๋ ์๋ฌ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅ ํ ํด๋น ๋ถ๋ถ๋ถํฐ ๋ค์ ์ ๋ ฅ์ ๋ฐ๋๋ค. - ์๋์ ํ๋ก๊ทธ๋๋ฐ ์คํ ๊ฒฐ๊ณผ ์์์ ๋์ผํ๊ฒ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค.
- ์ํ๋ช , ๊ฐ๊ฒฉ, ์๋์ ์ผํ๋ก, ๊ฐ๋ณ ์ํ์ ๋๊ดํธ([])๋ก ๋ฌถ์ด ์ธ๋ฏธ์ฝ๋ก (;)์ผ๋ก ๊ตฌ๋ถํ๋ค.
[์ฝ๋ผ,1500,20];[์ฌ์ด๋ค,1000,10]
- ์ํ๊ธฐ๊ฐ ๋ณด์ ํ ๋์
500์ - 0๊ฐ
100์ - 4๊ฐ
50์ - 1๊ฐ
10์ - 0๊ฐ
- ์๋์ ๋ฐํ๋ ๋์ ๋ง ์ถ๋ ฅํ๋ค.
100์ - 4๊ฐ
50์ - 1๊ฐ
- ์์ธ ์ํฉ ์ ์๋ฌ ๋ฌธ๊ตฌ๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ค. ๋จ, ์๋ฌ ๋ฌธ๊ตฌ๋ [ERROR]๋ก ์์ํด์ผ ํ๋ค.
[ERROR] ๊ธ์ก์ ์ซ์์ฌ์ผ ํฉ๋๋ค.
์ํ๊ธฐ๊ฐ ๋ณด์ ํ๊ณ ์๋ ๊ธ์ก์ ์
๋ ฅํด ์ฃผ์ธ์.
450
์ํ๊ธฐ๊ฐ ๋ณด์ ํ ๋์
500์ - 0๊ฐ
100์ - 4๊ฐ
50์ - 1๊ฐ
10์ - 0๊ฐ
์ํ๋ช
๊ณผ ๊ฐ๊ฒฉ, ์๋์ ์
๋ ฅํด ์ฃผ์ธ์.
[์ฝ๋ผ,1500,20];[์ฌ์ด๋ค,1000,10]
ํฌ์
๊ธ์ก์ ์
๋ ฅํด ์ฃผ์ธ์.
3000
ํฌ์
๊ธ์ก: 3000์
๊ตฌ๋งคํ ์ํ๋ช
์ ์
๋ ฅํด ์ฃผ์ธ์.
์ฝ๋ผ
ํฌ์
๊ธ์ก: 1500์
๊ตฌ๋งคํ ์ํ๋ช
์ ์
๋ ฅํด ์ฃผ์ธ์.
์ฌ์ด๋ค
ํฌ์
๊ธ์ก: 500์
์๋
100์ - 4๊ฐ
50์ - 1๊ฐ
- ํ๋ก๊ทธ๋จ์ ์คํํ๋ ์์์ ์
Application์main()์ด๋ค. - JDK 8 ๋ฒ์ ์์ ์คํ ๊ฐ๋ฅํด์ผ ํ๋ค. JDK 8์์ ์ ์ ๋์ํ์ง ์์ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌํ๋ค.
- ์๋ฐ ์ฝ๋ ์ปจ๋ฒค์ ์ ์งํค๋ฉด์ ํ๋ก๊ทธ๋๋ฐํ๋ค.
- indent(์ธ๋ดํธ, ๋ค์ฌ์ฐ๊ธฐ) depth๋ฅผ 3์ด ๋์ง ์๋๋ก ๊ตฌํํ๋ค. 2๊น์ง๋ง ํ์ฉํ๋ค.
- ์๋ฅผ ๋ค์ด while๋ฌธ ์์ if๋ฌธ์ด ์์ผ๋ฉด ๋ค์ฌ์ฐ๊ธฐ๋ 2์ด๋ค.
- ํํธ: indent(์ธ๋ดํธ, ๋ค์ฌ์ฐ๊ธฐ) depth๋ฅผ ์ค์ด๋ ์ข์ ๋ฐฉ๋ฒ์ ํจ์(๋๋ ๋ฉ์๋)๋ฅผ ๋ถ๋ฆฌํ๋ฉด ๋๋ค.
- 3ํญ ์ฐ์ฐ์๋ฅผ ์ฐ์ง ์๋๋ค.
- ํจ์(๋๋ ๋ฉ์๋)์ ๊ธธ์ด๊ฐ 15๋ผ์ธ์ ๋์ด๊ฐ์ง ์๋๋ก ๊ตฌํํ๋ค.
- ํจ์(๋๋ ๋ฉ์๋)๊ฐ ํ ๊ฐ์ง ์ผ๋ง ์ ํ๋๋ก ๊ตฌํํ๋ค.
- else ์์ฝ์ด๋ฅผ ์ฐ์ง ์๋๋ค.
- ํํธ: if ์กฐ๊ฑด์ ์์ ๊ฐ์ returnํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ฉด else๋ฅผ ์ฌ์ฉํ์ง ์์๋ ๋๋ค.
- else๋ฅผ ์ฐ์ง ๋ง๋ผ๊ณ ํ๋ switch/case๋ก ๊ตฌํํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ switch/case๋ ํ์ฉํ์ง ์๋๋ค.
- ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ์ฌํญ์์ ๋ณ๋๋ก ๋ณ๊ฒฝ ๋ถ๊ฐ ์๋ด๊ฐ ์๋ ๊ฒฝ์ฐ ํ์ผ ์์ ๊ณผ ํจํค์ง ์ด๋์ ์์ ๋กญ๊ฒ ํ ์ ์๋ค.
- Coin ํด๋์ค๋ฅผ ํ์ฉํด ๊ตฌํํด์ผ ํ๋ค.
- ํ๋(์ธ์คํด์ค ๋ณ์)์ธ
amount์ ์ ๊ทผ ์ ์ด์ private์ ๋ณ๊ฒฝํ ์ ์๋ค.
public enum Coin {
COIN_500(500),
COIN_100(100),
COIN_50(50),
COIN_10(10);
private final int amount;
Coin(final int amount) {
this.amount = amount;
}
// ์ถ๊ฐ ๊ธฐ๋ฅ ๊ตฌํ
}- JDK์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ Random, Scanner API ๋์
camp.nextstep.edu.missionutils์์ ์ ๊ณตํ๋Randoms,ConsoleAPI๋ฅผ ํ์ฉํด ๊ตฌํํด์ผ ํ๋ค.- Random ๊ฐ ์ถ์ถ์
camp.nextstep.edu.missionutils.Randoms์pickNumberInList()๋ฅผ ํ์ฉํ๋ค. - ์ฌ์ฉ์๊ฐ ์
๋ ฅํ๋ ๊ฐ์
camp.nextstep.edu.missionutils.Console์readLine()์ ํ์ฉํ๋ค.
- Random ๊ฐ ์ถ์ถ์
- ํ๋ก๊ทธ๋จ ๊ตฌํ์ ์๋ฃํ์ ๋
src/test/java๋๋ ํฐ๋ฆฌ์ApplicationTest์ ์๋ ๋ชจ๋ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ฑ๊ณตํด์ผ ํ๋ค. ํ ์คํธ๊ฐ ์คํจํ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌํ๋ค.
- ๋ฏธ์ ์ java-vendingmachine-precourse ์ ์ฅ์๋ฅผ Fork/Cloneํด ์์ํ๋ค.
- ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ ์ java-vendingmachine-precourse/docs/README.md ํ์ผ์ ๊ตฌํํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ์ ๋ฆฌํด ์ถ๊ฐํ๋ค.
- Git์ ์ปค๋ฐ ๋จ์๋ ์ ๋จ๊ณ์์ README.md ํ์ผ์ ์ ๋ฆฌํ ๊ธฐ๋ฅ ๋ชฉ๋ก ๋จ์๋ก ์ถ๊ฐํ๋ค.
- AngularJS Commit Message Conventions ์ฐธ๊ณ ํด commit log๋ฅผ ๋จ๊ธด๋ค.
- ๊ณผ์ ์งํ ๋ฐ ์ ์ถ ๋ฐฉ๋ฒ์ ํ๋ฆฌ์ฝ์ค ๊ณผ์ ์ ์ถ ๋ฌธ์ ๋ฅผ ์ฐธ๊ณ ํ๋ค.