練習 25: xargs
xargs
原文: Exercise 25: xargs 譯者: 飛龍 協定: CC BY-NC-SA 4.0 自豪地采用 谷歌翻譯
我們回到挑戰模式的練習,并為你熱身,你将會實作
xargs
。這應該是一個簡單的實作,但是
xargs
可能很複雜,因為你需要啟動其他程式才能使其運作。你要研究的 Python 子產品是
subprocess
,可以從 Python 運作其他程式并收集其輸出。你将需要了解該子產品,稍後完成
xargs
和本書的許多其他項目,是以要好好研究。
挑戰練習
實作
xargs
隻需 45 分鐘,是以你可以做出一些東西,之後你可以審計它。記住第一個 Hack 就是讓項目能運作,而不是使其完美。你将在此項目中的後續步驟中優化它并使其更好。記住你可以鍵入:
man xargs
擷取
xargs
的手冊頁并研究如何工作。這是一個友善的 Unix 工具,但你也可以使用
find
做幾乎相同的事情。當你實作
xargs
時,嘗試找出,它比起
find --exec
有什麼優勢。
經過 45 分鐘的 Hack,你應該休息一下,然後使用第三部分的代碼審計檢查清單,對代碼進行客觀的審計。不要修複代碼,隻需編寫注釋,指出需要改變什麼,有什麼缺陷。在嘗試修複時,很難保持客觀,是以隻需要注意審計中的問題,然後在下一輪中修複它們。
然後,你将進行一系列代碼/審計的計時會話,來習慣于進行審計。花費你所需的盡可能長的時間,盡可能多地實作
xargs
,然後繼續下一個項目。
注
記住要在日志中跟蹤你的缺陷,是以你可以繪制它們的運作圖,并尋找趨勢。
研究性學習
- 在代碼/審計的流程中,你是否發現任何你不斷犯下的錯誤?把這些當成潛在的事情寫下來并處理。
- 你的代碼/審計流程中,是否有一個特定的時間點,有或多或少的缺陷?比起最開始更多,還是三到四個流程之後更多?為什麼會這樣?
- 嘗試為你的
的實作編寫自動測試,并檢視是否降低你的缺陷率。在下一個練習中,你将會進行一個更加受控的測試研究,就像這樣,但是現在嘗試一下,看看你發現了什麼。xargs