๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ์์ ์์ ๋ชจ๋์ ๋จผ์ ๊ฐ๋ฐํ๊ณ ์ฌ๊ธฐ์ ์ฌ์ฉํ๋ ํ?๋ชจ๋๋ค์ ๊ฐ๋ฐํด ๋๊ฐ๋ ๋ฐฉ๋ฒ. EdsgerDijkstra์ Niklaus Wirth๊ฐ ์ด ๋ฐฉ๋ฒ์ ๋์คํ์ํจ ๊ฒ์ผ๋ก ์ ๋ช
ํ๋ค.
์ฌ์ค, TestDrivenDevelopment๋ Refactoring์ ์๋น ๋ถ๋ถ๋ ์ด์ฐ๋ณด๋ฉด StepwiseRefinement์ ์ฐ์ฅ์ ์ ์๋ค.
see also:
- ScheduledWalk/์์ฒ : 1002๊ฐ RandomWalk2๋ฅผ StepwiseRefinement๋ก ์ ๊ทผํ ์
- EightQueenProblem2Discussion : EightQueenProblem, EightQueenProblem2์ ์ ์ฉํด ๋ณด๋ฉด ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์๋ค.
Niklaus Wirth ๊ต์์ Program Development by Stepwise Refinement(1971, CACM 14.4) (http://www.acm.org/classics/dec95/ )์ EdsgerDijkstra์ Stepwise Program Construction์ ๊ผฌ์ค์ฅ ์ฝ์ด๋ณด๊ธธ ๋ฐ๋๋๋ค. ์ ์ฐํ ์ญ์ฌ์ ๊ธธ์ด ๋จ๋ ์ ๋ช
ํ ๋
ผ๋ฌธ๋ค์ด๊ณ , ์ฌ๊ธฐ ์๊ฐ๋ SR์ Structured Programming์์ ํต์ฌ์ ์ญํ ์ ํ์ต๋๋ค. ๋น์ ์, ์ด ์ฌ๋์ด ์ฌ์ฉํ stepwise refinement์ ์์ํ๋ ์ด๋ค "์ผ๋ฐ์ ๋ฌธ์ ์ ๊ทผ๋ฒ ๋ฐ ๋์์ธ ๋ฐฉ๋ฒ"์ ๊ฐ๊ณ ์์ต๋๊น? ์ด ๊ธ์ ์ฝ๊ณ ๋ค๋ฅธ ๋ฌธ์ ์ stepwise refinement๋ฅผ ์ ์ฉํด ๋ณด์ญ์์ค. Functional Programming์ด๋ OOP์๋ ์ ์ฉํ ์ ์์ต๋๊น? ์ด ๊ธ์ ์ฝ๊ณ , ๋ ์ค์ค๋ก ์คํ์ ํด๋ณด๊ณ ๋ฌด์์ ๋ฐฐ์ ์ต๋๊น? ์ด stepwise refinement์ ๋จ์ ์ ๋ฌด์์ด๊ณ , ์ด๋ฅผ ๊ทน๋ณตํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ผ๊น์? --๊น์ฐฝ์ค.