笨辦法學 Python · 續(xù) 練習 25:`xargs`

練習 25:xargs

原文:Exercise 25: xargs

譯者:飛龍

協(xié)議:CC BY-NC-SA 4.0

自豪地采用谷歌翻譯

我們回到挑戰(zhàn)模式的練習,并為你熱身,你將會實現(xiàn)xargs。這應該是一個簡單的實現(xiàn),但是xargs可能很復雜,因為你需要啟動其他程序才能使其運行。你要研究的 Python 模塊是subprocess,可以從 Python 運行其他程序并收集其輸出。你將需要了解該模塊,稍后完成xargs和本書的許多其他項目,因此要好好研究。

挑戰(zhàn)練習

實現(xiàn)xargs只需 45 分鐘,所以你可以做出一些東西,之后你可以審計它。記住第一個 Hack 就是讓項目能運行,而不是使其完美。你將在此項目中的后續(xù)步驟中優(yōu)化它并使其更好。記住你可以鍵入:

man xargs

獲取xargs的手冊頁并研究如何工作。這是一個方便的 Unix 工具,但你也可以使用find做幾乎相同的事情。當你實現(xiàn)xargs時,嘗試找出,它比起find --exec有什么優(yōu)勢。

經(jīng)過 45 分鐘的 Hack,你應該休息一下,然后使用第三部分的代碼審計檢查清單,對代碼進行客觀的審計。不要修復代碼,只需編寫注釋,指出需要改變什么,有什么缺陷。在嘗試修復時,很難保持客觀,所以只需要注意審計中的問題,然后在下一輪中修復它們。

然后,你將進行一系列代碼/審計的計時會話,來習慣于進行審計?;ㄙM你所需的盡可能長的時間,盡可能多地實現(xiàn)xargs,然后繼續(xù)下一個項目。

記住要在日志中跟蹤你的缺陷,所以你可以繪制它們的運行圖,并尋找趨勢。

研究性學習

  • 在代碼/審計的流程中,你是否發(fā)現(xiàn)任何你不斷犯下的錯誤?把這些當成潛在的事情寫下來并處理。
  • 你的代碼/審計流程中,是否有一個特定的時間點,有或多或少的缺陷?比起最開始更多,還是三到四個流程之后更多?為什么會這樣?
  • 嘗試為你的xargs的實現(xiàn)編寫自動測試,并查看是否降低你的缺陷率。在下一個練習中,你將會進行一個更加受控的測試研究,就像這樣,但是現(xiàn)在嘗試一下,看看你發(fā)現(xiàn)了什么。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容