官术网_书友最值得收藏!

修復錯誤的最佳方式是壓根兒不犯錯。靜態代碼格式分析工具(也稱作linter)是通過分析源代碼來報告潛在錯誤的一類程序。linter這個名字本來是指干衣機的棉絨收集器收集的小纖維和碎屑。盡管linter不能捕獲所有錯誤,但靜態分析(在不運行的情況下檢查源代碼)可以識別由錯別字引起的拼寫錯誤(第11章將探討如何使用類型提示進行靜態分析)。很多編輯器和集成開發環境(IDE)集成了一個在后臺運行的linter,可以實時指出錯誤,如圖1-2所示。

圖1-2 linter指出存在一個未聲明的變量。從上到下的編輯器分別為Mu、PyCharm和Sublime Text

linter提供的近乎實時的通知極大地提高了編程效率。如果沒有它,那么你必須運行程序,不得不眼睜睜地看著它崩潰,同時,閱讀異常信息,在源代碼中找到指定行,修復拼寫錯誤。如果你犯了多個拼寫錯誤,上述流程只能每次檢查出一個,而linter可以一次找到多個錯誤。它會在編輯器中以非常直觀的形式顯示錯誤,幫你輕易找到出錯位置。

你的編輯器或IDE也許不提供linter,但如果它提供插件機制,那幾乎肯定有一個linter插件。這些插件通常使用一個名為Pyflakes的模塊或其他模塊進行分析。你可以安裝Pyflakes,或者運行pip install --user pyflakes,它值得一試。

注意 在Windows上,你可以運行命令python和pip。但是在macOS和Linux上,這些命令是指向Python 2的,應該使用python3和pip3替代。請牢記,本書中出現的python和pip都是如此。

IDLE是Python自帶的IDE,它既沒有預裝linter,也不具備通過插件機制安裝linter的能力。

主站蜘蛛池模板: 道孚县| 永泰县| 仲巴县| 京山县| 牡丹江市| 咸丰县| 巴南区| 霞浦县| 高雄县| 平远县| 天津市| 马边| 太康县| 新巴尔虎左旗| 延津县| 常熟市| 北辰区| 凤翔县| 永靖县| 民勤县| 诸暨市| 城口县| 新巴尔虎右旗| 措美县| 保康县| 宜都市| 高青县| 石家庄市| 巨野县| 梧州市| 西安市| 濮阳市| 阆中市| 江城| 东城区| 凭祥市| 洛阳市| 马山县| 深水埗区| 漳平市| 兖州市|