다음은 차례대로 하수, 중수, 고수가 작성한 지름신 처리 프로그램의 소스 코드이다.
 
세 개의 코드가 하는 일은 같지만 완성도는 매우 다르다.
 
어떻게 짜는 프로그램이 좋은 프로그램인지 수준 차이를 느껴보자.
 
------------------<하수>-----------------------
#include "Hungry.h"
void main() {
 int Money;
 bool CanBuy;
 Money = GetFromPocket();
 if (Money > MIN_MONEY )
 {
  if ( IsHeComing()==TRUE ) // He is Ji-Rum-Sin
  {
   if ( Buy(Money)==FALSE )
   {
    Die();
   } else {
    NoEat();
   }
  } else {
   while ( IsHeComing()==FALSE )
   {
    PutPocket(Money);
    Money = 0;
    NoEat();
   }
  }
 } else {
  while ( IsDead()==TRUE || Money <= MIN_MONEY )
  {
   NoEat();
  }
 }
 
 return 0;
}
 
------------------<중수>-----------------------
#include "Hungry.h"
void main() {
 int Money;
 GOD_HANDLE god_handle;
 while ( IsDead()==TRUE )
 {
  if ( IsHeComing()==TRUE ) // He is Ji-Rum-Sin
  {
   god_handle = CallHim();
   Money = GetFromPocket();
   if ( Money >= god_handle.HowMuch() )
   {
    Buy(Money);
   } else {
    PutPocket(Money);
   }
  }
  NoEat();
 }
}
 
------------------<고수>-----------------------
#include "Hungry.h"
void main() {
 while ( IsDead()==TRUE )
 {
  if ( IsHeComing()==TRUE ) // He is Ji-Rum-Sin
  {
   if ( Buy()==TRUE ) // If Get FALSE... Never Mind!
   {
    Sleep();  // Until Have Money Enough
   }
  }
  NoEat();
 }
}


Trackbacks  | Comments