
24
|
第三章:少寫一些程式碼!
複製程式碼並非都是不好的行為或懶惰程式員犯下的錯誤。複製也有可能是意外情況下
造成的,因為某人不知道程式已經存在,而重新發明車輪。或者,也有可能是有人重新
建構一個第三方程式庫已經擁有的函式。不好的地方在於,比起新寫下的程式,既有的
程式庫更有可能是正確的,而且已經 debug 過了。使用共用的程式庫可以節省你的精
力,並防止你進入一個錯誤隱伏的世界。
有一些微程式碼等級的重複行為。例如:
if (foo) do something();
if (foo) do_something_else()
if (foo) do_more();
全都可以整潔地放在一個
if
陳述式裡面。通常許多迴圈都可以刪減為一個迴圈。例如下
列程式:
for (int a = 0; a < MAX; ++a)
{
// 處理事情
}
// 烤奶油吐司
for (int a = 0; a < MAX; ++a)
{
// 處理其他事情
}
或許可以改為:[Page-22]
for (int a = 0; a < MAX; ++a)
{
// 處理事情
// 處理其他事情
}
// 烤奶油吐司
如果烤奶油吐司不依賴任何一個迴圈的話,你不但更容易閱讀與理解,可能也會有更好
的效能,因為它只需要執行一個迴圈。另外,考慮以下重複的條件式:
if (foo)
{
if (foo && some_other_reason)
{
// 第 2 次檢查 foo 是多餘的
}
}