1. 순서가 중요한 명령문
명령문의 순서가 중요한 자바 예제
Data = ReadData();
Result = CalculateResultsFromData( date );
PrintResults( results ); |
명령문의 순서가 중요하지만 덜 분명한 자바 예제
revenue.ComputeMonthly();
revenue.ComputeQuarterly();
revenue.ComputeAnnual(); |
명령문의 순서가 중요한 자바 예제
Data = ReadData();
Result = CalculateResultsFromData( date );
PrintResults( results ); |
명령문의 순서 의존성이 감추어져 있는 비주얼 베이직 예제
ComputeMarketingExpense
ComputeSalesExpense
ComputeTravelExpense
ComputePersonnelExpense
DisplayExpenseSummary |
의존성이 분명하도록 코드를 구성한다.
의존성이 분명하도록 루틴의 이름을 작성한다.
데이터가 순서의 의존성을 말해주는 비주얼 베이직 예제
InitializeExpenseData( expenseData )
ComputeMarketingExpense( expenseData )
ComputeSalesExpense( expenseData )
ComputeTravelExpense( expenseData )
ComputePersonnelExpense( expenseData )
DisplayExpenseSummary( expenseData )
|
데이터와 루틴 호출이 순서의 의존성을 말해주는 비주얼 베이직 예제
expenseData = InitializeExpenseData( expenseData )
expenseData = ComputeMarketingExpense( expenseData )
expenseData = ComputeSalesExpense( expenseData )
expenseData = ComputeTravelExpense( expenseData )
expenseData = ComputePersonnelExpense( expenseData )
DisplayExpenseSummary( expenseData )
|
데이터가 순서의 의존성을 암시하지 않는 비주얼 베이직 예제
ComputeMarketingExpense ( marketingData )
ComputeSalesExpense ( salesData )
ComputeTravelExpense ( travelData )
ComputePersonnelExpense ( personnelData)
DisplayExpenseSummary(
marketingData, salesData, travelData, personnelData)
|
의존성이 분명하지 않은 부분은 주석으로 문서화한다.
명령문의 순서 의존성이 감추어져 있지만 주석으로 이를 분명히 한 비주얼 베이직 예제
// 지출 데이터를 계산한다. 각 루틴들은 멤버 데이터 expenseData에 접// 근한다. DisplayExpenseSummary는 다른 루틴들에서 계산된 데이터에 // 의존하기 때문에 마지막에 호출되어야 한다.
InitializeExpenseData
ComputeMarketingExpense
ComputeSalesExpense
ComputeTravelExpense
ComputePersonnelExpense
DisplayExpenseSummary
|
어설션이나 오류 처리 코드로 의존성을 검사한다.
2. 순서가 중요하지 않는 명령문
코드를 하향식으로 읽을 수 있도록 작성하기
코드를 이리 저리 봐야 하는 좋지 않은 C++ 예제
MarketingData marketingData;
SalesData salesData;
TravelData travelData;
travelData.ComputeQuarterly();
salesData.ComputeQuarterly();
marketingData.ComputeQuarterly();
salesData.ComputeAnnual();
marketingData.ComputeAnnual();
travelData.ComputeAnnual();
salesData.Print();
travelData.Print();
marketingData.Print(); |
하향식으로 읽을 수 있도록 순차적으로 잘 작성된 C++예제
MarketingData marketingData;
marketingData.ComputeQuarterly();
marketingData.ComputeAnnual();
marketingData.Print();
SalesData salesData;
salesData.ComputeQuarterly();
salesData.ComputeAnnual();
salesData.Print();
TravelData travelData;
travelData.ComputeQuarterly();
travelData.ComputeAnnual();
travelData.Print(); |
연관된 명령문 그룹화하기
RECENT COMMENT