프로그램 아키텍쳐/소프트웨어공학

Run and Fix 전략을 피하는 원칙

본클라쓰 2010. 7. 21. 17:07

프로그램은 눈에 보이지 않는 추상적인 논리로만 이루어져 있기 때문에 결과를 예측하는 것이 어렵다.

 

그렇다고 일단 작성하고 실행하여 결과를 확인하고 고치는 방식인 'Run and fix' 전략을 피해야 한다. 'run and fix' 전략은 작은 단위 프로그램에서나 효율성이 있지 소스 코드가 긴 프로그램에서는 컴파일 시 엄청난 오류를 발생하게 하고, 오류를 하나 하나 고치다 보면 원래 계획한 의도와는 다른 프로그램이 작성될 수도 있다.

 

'run and fix' 피하기 위해서는 다음과 같은 원칙을 가지고 프로그램을 작성하는 것이 좋다.

 

 1. 프로그램을 구상하는 단계에 더 많은 시간을 투자하라. 

 2. 플로차트나 의사코드(Psude code) 등을 도입하여 프로그램의 논리를 충분히 구상하라.

 3. 종이 작업하는 시간을 컴퓨터에서 작업하는 시간보다 많게 하라.

 4. 사전 프로그램의 결함을 예측하고, 그것들을 제거할 수 있는 방법을 찾아라.

 5. 충분히 심사숙고한 뒤에 코드를 작성하라.

 6. 데이터 구조가 프로그램이 되게 하라.

 7. 복잡한 구조는 캡슐화하라.

 8. 반복되는 코드는 배열을 사용하여 다시 작업하라.

 

 

위와 같은 규칙과 함깨 중요한 것이 하나 더 있는데 바로 코딩 규칙이다.

 

보통 프로그램은 개발에 사용되는 시간보다 유지보수에 사용되는 시간이 더 많다. 그런데 유지보수를 할 수 없을 정도로 코드를 이해하기 어렵다면 유지보수하는 시간보다 새롭게 프로그램을 개발하는 시간이 더 짧은 경우가 생기게 된다.

 

이런 프로그램은 재활용성에서 완전히 낙제점을 받게 된다. 따라서 좋은 코딩 규칙을 가지고 코드를 작성하는 것이 좋다.

 

 

 

 

"좋은 프로그래머가 되기 위해서는 폭넓은 지식과 빠른 학습 능력은 물론 필수적인 것입니다만 그보다 더 중요한 것은 늘 고민하는 자세와 깊이 있는 사고 능력입니다. 패러다임의 변화를 주도하는 것은 반짝이는 아이디어가 아니라 경험속에서 축적된 고민입니다. 끊임없이 고민하면서 프로그래밍을 해왔다면 이런 변화를 따라 잡는 것은 어려운 일이 아닙니다. 즉, 변화의 중요성을 인식하고 발전하기 위해 고뇌하는데서 변화의 힘이 나옵니다. "

 

- 출처는 기억나지 않지만 개발자가 알아두면 좋을 것아서 인용합니다. -

 

 

개인적인 경험을 덧붙이자면 코드의 구조를 변경할 때 실제 프로그램 코드를 수정하면서 확인하는 방법보다 변경하고자 하는 구조로 테스트 코드를 작성한 후 결과를 확인하고 실제 프로그램 코드를 수정하는 것이 좋다. 테스트를 실시하지 않고 실제 프로그램 코드를 수정하기 시작하면 실제 프로그램 코드도 엉키기 쉽고 이해력도 떨어져 작업 시간도 증가된다.