글
순서가 중요한 명령문
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이나 오류처리 코드로 의존성을 검사한다
순서가 중요하지 않은 명령문
순서가 중요하지 않은 경우에는 일반적인 근거치 법칙, 즉 관련된 작업을 함께 두는 법칙을 따르는 것이 가독성, 성능, 유지 보수에 유리하다
- 코드를 하향식으로 읽을수 있도록 작성하기.
- 연관된 명령문 그룹화하기.
이 글은 스프링노트에서 작성되었습니다.
RECENT COMMENT