순서가 중요한 명령문

ex명령문의 순서가 중요한 자바예제

 data = ReadData();

results = CalculateREsultsFromData(data);

PrintResults(results);

위 코드는 반드시 순서를 지켜야 한다

ex 명령문의 순서가 중요하지만 덜 분명한 자바예제

revenue.ComputeMonthly();

revenue.ComputeQuarterly();

revenue.ComputeAnnual();

코드만으로는 순서의 의존성이 명확하지 않다

ex 명령문의 순서 의존성이 감추어져 있는 VB예제

ComputeMakrteingExpense

ComputeSalesExpense

ComputeTravelExpense

//...

위 코드를 보고서는 순서 의존성을 전혀 알수 없다.

명명문들이 특정한 순서대로 작성되어야 한늬 의존성을 갖고 있을때, 의존성을 분명히 하기 위한 단계를 밟아야 한다.

  • 의존성이 분명하도록 코드를 구성한다.
  • 의존성이 분명하도록 루틴의 이름을 작성한다.
  • 의존성을 분명히 하기 위해서 루틴 매개변수를 사용해라.

    ex 데이터가 순서의 의존성을 말해주는 VB예제

    InitializeExpenseData(expenseData)   //초기화는 무엇보다 먼저 실행되어야 하니까 이름도 초기화를 의미하게 지어주는 게 센스

    ComputeMarketingExpense(expenseData)

    ComputeSalesExpense( expenseData)

    ComputeTravelExpense (expenseData)

    ex 루틴을 expenseData를 입력으로 받고 갱신된 expenseData를 출력으로 반환하는 함수로 변환하여 코드의 순서 의존성이 있음을 보다 명확하게 만든다

    expenseData = InitializeExpenseData(expenseData)  

    expenseData = ComputeMarketingExpense(expenseData)

    expenseData = ComputeSalesExpense( expenseData)

    expenseData = ComputeTravelExpense (expenseData)

  • 의존성이 분명하지 않은 부분은 주석으로 문서화한다
  • assertion이나 오류처리 코드로 의존성을 검사한다

 

순서가 중요하지 않은 명령문

순서가 중요하지 않은 경우에는 일반적인 근거치 법칙, 즉 관련된 작업을 함께 두는 법칙을 따르는 것이 가독성, 성능, 유지 보수에 유리하다

  • 코드를 하향식으로 읽을수 있도록 작성하기.
  • 연관된 명령문 그룹화하기.

 

이 글은 스프링노트에서 작성되었습니다.

by 무위자연 2008. 1. 19. 15:54