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