第四部分:進(jìn)階項目
譯者:飛龍
協(xié)議:CC BY-NC-SA 4.0
自豪地采用谷歌翻譯
在第三部分中,你學(xué)習(xí)了數(shù)據(jù)結(jié)構(gòu)和算法的基礎(chǔ)知識,但更重要的是,你學(xué)習(xí)了審計和測試代碼。你并沒有審計和測試你自己的代碼。你剛剛通過我教給你的方式,審計了我的缺陷。第四部分的目標(biāo)是通過一系列挑戰(zhàn)模式的項目,審計你自己的代碼。在接下來的五個項目中你的任務(wù)如下:
- 進(jìn)行45分鐘的 Hack 會話,創(chuàng)建項目并開始。
- 使用你在第三部分中學(xué)到的第一個 Hack,審計你的實現(xiàn)中潛在的缺陷和問題。
- 然后在另一個 45 分鐘內(nèi)開始清理,并把你的黑魔法開發(fā)成正式的東西。
- 在 45 分鐘的會話內(nèi)審計并優(yōu)化它。
這 45 分鐘的會話與你的第一批項目之間的唯一區(qū)別是,你不需要嚴(yán)格限制時間。45 分鐘只是一個指導(dǎo),來確保你不要太久才審計你的代碼。審計停留在好的實現(xiàn)或者想法中間的代碼是沒有意義的。顯然,這些半成品代碼不值得很好地審計。關(guān)鍵是要工作大約 45 分鐘,當(dāng)你暫停了一段時間,然后查看你做了什么。
在本節(jié)中,你將參考第三部分的清單,并嚴(yán)格遵守它。在進(jìn)行審計之前,請先休息 10~15 分鐘,來喚醒頭腦并切換到批判的思維模式,這是很好的。
當(dāng)你處理這些項目時,我將提出一些算法,當(dāng)它們適合時,你可以在應(yīng)用程序中使用。你不必使用你實現(xiàn)的算法,但你應(yīng)該嘗試,只是為了看看它們的工作原理。很可能他們不比 Python 現(xiàn)有的數(shù)據(jù)結(jié)構(gòu)(list和dict)更好,因為 Python 的數(shù)據(jù)結(jié)構(gòu)已經(jīng)有了很多調(diào)整,來變得盡可能快。嘗試使用算法,以便你了解何時使用它們以及如何檢查它們,這仍然是一個很好的練習(xí)。
記錄你的缺陷
最后,我要求你跟蹤你的缺陷率。就像在第二部分中,跟蹤你完成的功能那樣。你將跟蹤你在審計中找到了多少缺陷,以及它們有什么樣的缺陷。通過創(chuàng)建一個表格,頂部是缺陷類型,左側(cè)是日期時間,在你的日志中記錄你發(fā)現(xiàn)的東西。如果你想要使用電子表格,你也可以直接繪制結(jié)果。跟蹤發(fā)現(xiàn)這些缺陷的目標(biāo)是,開始了解你在編程會話期間經(jīng)常犯的錯誤,以便你可以嘗試阻止他們或在審計中簡單留意它們。