๐งฑ 16ํ์ฐจ: SWE.3-์ค๊ณ ์์ด ๊ตฌํ? ๊ทธ๊ฑด ๋ง๋ฒ์ด ์๋๋ผ ์ฌ์์ ๋๋ค!
SWE.3 – ์ํํธ์จ์ด ์์ธ ์ค๊ณ & ๊ตฌํ, ๊ฐ์ด ๊ฐ์๋ค!
๐งโ๏ธ “์ค๊ณ๋ ๊ท์ฐฎ๊ณ , ์ฝ๋ฉ์ด ์ง์ง ์ค๋ ฅ ์๋๊ฐ์?”
๐ง “์ค๊ณ ์์ด ์์ํ๋ ์ฝ๋ฉ์... ์คํ ์๋ ์ผ์ดํฌ์์. ๋ณด๊ธฐ์ ๊ด์ฐฎ์๋ฐ, ๋จน์ผ๋ฉด ์ ์ ๊ฐ๋ ์ด์ํจ๋ง ๋จ์ต๋๋ค.”
๐ฏ SWE.3, ๋๋์ฒด ๋ญ๊ฐ์?
SWE.3 – ์ํํธ์จ์ด ์์ธ ์ค๊ณ & ๊ตฌํ์
์์ฃผ ์ค์ํ ์ด์ค์๋ฌด๋ฅผ ๋ด๋นํฉ๋๋ค:
- ๐ก ์์ธ ์ค๊ณ: ์์คํ /์ํํธ์จ์ด ์ํคํ ์ฒ๋ฅผ ๋ฐํ์ผ๋ก ํจ์, ํด๋์ค, ๋ฐ์ดํฐ ํ๋ฆ, ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์
- ๐ง ๊ตฌํ(์ฝ๋ฉ): ์์ธ ์ค๊ณ์ ๋ฐ๋ผ ์ฝ๋๋ก ์ค์ ๊ตฌํ!
๐งฉ ์ปจ์ ์ค๊ณ vs. ์์ธ ์ค๊ณ vs. ๊ตฌํ
| ๊ตฌ๋ถ | ์ค๋ช | ์์ |
|---|---|---|
| ์ปจ์ ์ค๊ณ | ๊ตฌ์กฐ ๋ฐ ๋ชจ๋ ์ ์ | "์ผ์ → ํํฐ๋ง → ์ ์ด ๋ก์ง" |
| ์์ธ ์ค๊ณ | ๊ฐ ์์์ ์ธ๋ถ ์ ์ | filterData(float* input, int size) |
| ๊ตฌํ | ์ฝ๋ ์์ฑ | for(int i=0; i<size; i++){ ... } |
๐ SWE.3์์ ๊ฐ๋ฐ์๊ฐ ํ๋ ์ผ
1. ์ค๊ณ ํ๋
- ์ํํธ์จ์ด ๊ธฐ๋ฅ ๋จ์ ์ ์
- ํจ์, ๋ณ์, ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ค๊ณ
- ์์ธ ์ํฉ ์ ์ ๋ฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ ์์ฑ
- ์ธํฐํ์ด์ค ์์ธ ๋ช ์ธ(JSON, ๊ตฌ์กฐ์ฒด ๋ฑ)
2. ๊ตฌํ ํ๋
- ์ฝ๋ฉ ํ์ค์ ๋ฐ๋ผ ์ค์ ๊ตฌํ!
- ์ ์ ๋ถ์ ํด ์ ์ฉ (MISRA, SonarQube ๋ฑ)
- ์ปดํ์ผ & ๋น๋
- ๋ฆฌ๋ทฐ & ์ฝ๋ ๋ฆฌํฉํ ๋ง
๐ก ๊ตฌํ๋ SWE.3์ ๋ฒ์์ ๋๋ค! SWE.4๋ ํตํฉ ํ ์คํธ์ ๊ฐ๊น์์.
๐ง๐ป ๊ฐ๋ฐ์ ๋ฑ๊ธ๋ณ ์ญํ ? ์ด๋ ๊ฒ ๋๋ฉ๋๋ค!
| ๊ฐ๋ฐ์ ์์ค | SWE.3์์์ ์ญํ |
|---|---|
| ์ฃผ๋์ด | ์์ธ ์ค๊ณ๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ ์ํ, ๋จ์ ํ ์คํธ ์ผ๋ถ |
| ๋ฏธ๋ค | ์์ธ ์ค๊ณ ์์ฑ + ๊ตฌํ, ๋จ์ ํ ์คํธ ๊ณํ๊น์ง ์ํ |
| ์๋์ด | ์ค๊ณ ์ ๋ต ์๋ฆฝ, ์ํคํ ์ฒ ์ฐ๊ณ ๊ณ ๋ ค, ์ฝ๋ ๋ฆฌ๋ทฐ ์ฃผ๋ |
โ๏ธ ์ค์ ! ๋ฆฌ์์ค ๋ถ์กฑํ ํ์ฌ์์์ ๋์๋ฒ
ํ์ค: “์ค๊ณ ๋ฐ์ ์๊ฐ ์์ด! ๊ทธ๋ฅ ์ง!”
๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ?
- ๊ฐ์ํ๋ ์ค๊ณ ์์ ํ์ฉ
- ์์ ๊ธฐ๋ฐ ์ธํฐํ์ด์ค ์ ์์ + ํ๋ฆ๋ 1์ฅ ์ค๊ณ
- ์ปจ์
+์์ธ ์ค๊ณ๋ฅผ ํตํฉ
- ์ค๊ณ์๋ฅผ ๊ฐ๋จํ ๊ตฌ๊ธ ๋ฌธ์์ ๊ฐ์ด ์ ๋ฆฌํด์ ์ค๋ณต ๋ฐฉ์ง
- ๋ฆฌ๋ทฐ ์ค์ฌ ๊ฐ๋ฐ ๋ฌธํ
- ๋ฌธ์ ์์ฑ๋ณด๋ค ๋ฆฌ๋ทฐ ๊ธฐ๋ก ์ค์ฌ์ผ๋ก ์ค๊ณ์ ํ์ ๋จ๊ธฐ๊ธฐ
- ๊ตฌํ ๊ธฐ์ค ์ ๋ฆฝ
- ์ต์ํ ํจ์ ํค๋, ์์ธ์ฒ๋ฆฌ, ๋ณ์ ๋ค์ด๋ฐ ๊ท์น์ ํต์ผ!
๐ SWE.3์ด ์ฝํ๋ฉด ์ด๋ฐ ์ผ์ด…
- ๐ฅ ๊ธฐ๋ฅ์ ๋์ง๋ง ์ ์ง๋ณด์ ๋ถ๊ฐ๋ฅ
- ๐ ์์ธ์ฒ๋ฆฌ ๋๋ฝ์ผ๋ก ํ์ฅ ๋ถ๋ ๋ฐ์
- ๐คนโ๏ธ ๊ฐ๋ฐ์๋ง๋ค ์ฝ๋ ์คํ์ผ ์ฒ์ฐจ๋ง๋ณ (ํ์ ์ง์ฅ)
- ๐งฉ ์ค๊ณ์์ ๊ตฌํ์๊ฐ ๋ฌ๋ผ์ ์คํด ๋ํญ๋ฐ
โ SWE.3 Best Practice
- UML ๋๋ ํ๋ฆ๋ ๊ธฐ๋ฐ์ ์์ธ ์ค๊ณ
- ํจ์๋ณ ์ ์ถ๋ ฅ ์ ์
- ์ ์ ๋ถ์ & ๋น๋ ์๋ํ ์ ์ฉ
- ๊ตฌํ ํ ๋ฆฌ๋ทฐ ํ์!
- ๋จ์ ํ ์คํธ ์ฝ๋ ํฌํจํด์ pull request
๐ SWE.3, ์์ฝํ๋ฉด?
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ์ญํ | ์์ธ ์ค๊ณ + ๊ตฌํ |
| ์ค๊ณ ๋ฒ์ | ํจ์, ๋ชจ๋, ๋ฐ์ดํฐ ๊ตฌ์กฐ, ์ธํฐํ์ด์ค |
| ๊ตฌํ ๋ฒ์ | ํ์ค ๊ธฐ๋ฐ ์ฝ๋ฉ + ๋ฆฌ๋ทฐ + ์ ์ ๋ถ์ |
| ํต์ฌ ํฌ์ธํธ | ์ค๊ณ๊ฐ ์ข์์ผ ๊ตฌํ์ด ํํํ๋ค! |
๐ฎ ๋ค์ ํ์ฐจ ์๊ณ : 17ํ์ฐจ – SWE.4, ๋จ์ ์ํ!
๋๋์ด ์ฝ๋๊ฐ ์ง์ก๋ค๋ฉด... ์ด์ ๋ ์ํ์ ์๊ฐ!
๋จ์ ํ
์คํธ, ์ปค๋ฒ๋ฆฌ์ง, ์๋ํ, ํ
์คํธ ์ฝ๋ ์์ฑ ์ ๋ต๊น์ง!
ํ์
์์ ์ ์ผ ํผํ๊ณ ์ถ์ SWE.4, ์ฐ๋ฆฌ๊ฐ ์ฌ๋ฐ๊ฒ ํ์ด๋๋ฆด๊ฒ์ ๐
“์ฝ๋๋ ๊ฑฐ์ง๋ง ์ ํฉ๋๋ค... ํ ์คํธ๊ฐ ์ง์ค์ ๋ณด์ฌ์ค ๋ฟ!”
