原始碼閱讀筆記——HowDoI
阿新 • • 發佈:2018-11-09
文章目錄
HowDoI
HowDoI是命令列應用,用以搜尋程式設計問題的答案,原始碼十分簡短,也體現了一些推薦的Python專案的結構和程式碼風格。
用法示例
程式碼結構
- howdoi
主要依賴
- requests —— 爬取頁面
- argparse —— 命令列應用傳參
- pyquery —— ???
程式碼結構與風格
- 一個函式只做一件事情
- PEP8程式碼風格
- 內部函式使用帶下劃線的字首,說明不允許外部呼叫
- 單元測試,用AssertTrue做單元測試,函式內部錯誤返回False,不測試內部函式
- 僅在一處地方處理相容性問題
try: from A import B as C except ImportError: from A.D import B as C
- 單處Return
細節
- requests使用隨機的請求頭
- __init__中只寫了版本號
- test_howdoi.py通過form howdoi import howdoi 匯入核心模組
- python2和python3處理unicode的方式不同
這樣做比在函式內部判斷好在一處完成,無需在每次呼叫函式時判斷# Handle Unicode between Python 2 and 3 # http://stackoverflow.com/a/6633040/305414 if sys.version < '3': import codecs def u(x): return codecs.unicode_escape_decode(x)[0] else: def u(x): return x
Reference
[1]《Python程式設計之美》