W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
跟蹤程序執(zhí)行流程是閱讀代碼的一種方式。另一種可選的方式我稱之為“思路跳躍”。 當(dāng)你遇到一個函數(shù)調(diào)用,我們不去跟蹤執(zhí)行流程,而是假定函數(shù)工作正常并返回合適的值。
事實上,我們前面已經(jīng)使用過思路跳躍,比如調(diào)用內(nèi)置函數(shù)。當(dāng)調(diào)用cos或exp時,我們并沒有檢查函數(shù)的實現(xiàn)。我們只是假定這些函數(shù)能正常工作,因為設(shè)計庫的都是很厲害的程序員。
調(diào)用自己寫的函數(shù)也是如此。例如,在5.8節(jié)我們寫了一個函數(shù)isSingleDigit用來判斷一個數(shù)是否處于0和9之間。只要能夠通過測試或者檢查代碼確定這個函數(shù)是正確的,我們就能再次使用這個函數(shù)而不需要檢查代碼。
這個方法同樣適用于遞歸函數(shù)。碰到遞歸調(diào)用時,我們不是跟蹤執(zhí)行流程,而應(yīng)假定遞歸調(diào)用正常工作(能產(chǎn)生正確的結(jié)果),然后提出問題,“假設(shè)能夠計算n-1的階乘,能否計算n的階乘?”。很明顯,可以通過n-1乘以n來計算n的階乘。
當(dāng)然,當(dāng)你甚至還沒有編寫完的時候就假設(shè)函數(shù)正常工作可能有點奇怪,但是這也是我稱之為“思路跳躍”的原因。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: