1、pylint是什么?
Pylint 是一個 Python 代碼分析工具,它分析 Python 代碼中的錯誤,查找不符合代碼風格標準(Pylint 默認使用的代碼風格是 PEP 8,具體信息,請參閱參考資料)和有潛在問題的代碼。目前 Pylint 的最新版本是 pylint-0.18.1。
Pylint 是一個 Python 工具,除了平常代碼分析工具的作用之外,它提供了更多的功能:如檢查一行代碼的長度,變量名是否符合命名標準,一個聲明過的接口是否被真正實現等等。
Pylint 的一個很大的好處是它的高可配置性,高可定制性,并且可以很容易寫小插件來添加功能。
如果運行兩次 Pylint,它會同時顯示出當前和上次的運行結果,從而可以看出代碼質量是否得到了改進。
目前在 eclipse 的 pydev 插件中也集成了 Pylint。
pylint是一個Python代碼風格的檢查工具, 它依據的標準是Guido van Rossum的PEP8。
pylint類似于PyChecker, 但提供了更多的功能, 如檢查代碼行的長度, 檢查變量命名是否符合編碼規范, 或檢查聲明的接口是否被真正的實現, 完整的檢查功能請參見http://www.logilab.org/card/pylintfeatures。
pylint的最大優勢在于其高度的可配置化和可定制化,你可以很容易地寫一個小插件添加個人功能。
安裝方法:pip install pylint
參考鏈接:
http://www.ibm.com/developerworks/cn/aix/library/au-cleancode/index.html
http://www.douban.com/note/46830857/
http://zh.wikipedia.org/wiki/Pylint
2、為什么使用pylint?
為了寫出好代碼。什么是好代碼?符合團隊編碼習慣的代碼:統一的命名,結構。
它的類似產品是什么?PyChecker
你還有啥補充?
3、 怎么使用pylint?
基礎使用:
通過三種代碼來進行測時,得分從1,不斷的根據pylint的提示進行重構,最終得到10分。
v1_fetch.py:
#coding:utf-8
import urllib
import time
def a(url):
content = urllib.urlopen(url).read()
f = open('tmp%s.html' % str(time.time()), 'w')
f.write(content)
f.close()
def main(urls):
for url in urls:
a(url)
if __name__ == '__main__':
urls = ['http://www.baidu.com','http://www.sohu.com']
main(urls)
修改命名:
v2_fetch.py:
#coding:utf-8
import urllib
import time
def fetch(url):
content = urllib.urlopen(url).read()
f_html = open('tmp%s.html' % str(time.time()), 'w')
f_html.write(content)
f_html.close()
def main(urls):
for url in urls:
fetch(url)
if __name__ == '__main__':
from_urls = ['http://www.baidu.com','http://www.sohu.com']
main(from_urls)
再次修改:
v3_fetch.py:
#coding:utf-8
'''
a test function module
'''
import urllib
import time
def fetch(url):
'''
fetch url
'''
content = urllib.urlopen(url).read()
f_html = open('tmp%s.html' % str(time.time()), 'w')
f_html.write(content)
f_html.close()
def main(urls):
'''
main func to be called
'''
for url in urls:
fetch(url)
if __name__ == '__main__':
FROM_URLS = ['http://www.baidu.com','http://www.sohu.com']
main(FROM_URLS)
基本上有以下幾種判斷標準:
1、命名方式
2、docstring
當然直接用pylint進行包檢測也是可以的:pylint package
參看下面了解更多的使用方法,一定要動手練習才行:
參看內容:
Pylint 的調用
清單 1. Pylint 的調用命令
pylint [options] module_or_package
使用 Pylint 對一個模塊 module.py 進行代碼檢查:
1. 進入這個模塊所在的文件夾,運行 pylint [options] module.py
這種調用方式是一直可以工作的,因為當前的工作目錄會被自動加入 Python 的路徑中。
2. 不進入模塊所在的文件夾,運行 pylint [options] directory/module.py
這種調用方式當如下條件滿足的時候是可以工作的:directory 是個 Python 包 ( 比如包含一個 __init__.py 文件 ),或者 directory 被加入了 Python 的路徑中。
使用 Pylint 對一個包 pakage 進行代碼檢查:
1. 進入這個包所在文件夾,運行 pylint [options] pakage。
這種調用方式是一直可以工作的,因為當前的工作目錄會被自動加入 Python 的路徑中。
2. 不進入包所在的文件夾,運行 pylint [options] directory/ pakage。
這種情況下當如下條件滿足的時候是可以工作的:directory 被加入了 Python 的路徑中。比如在 Linux 上,export PYTHONPATH=$PYTHONPATH: directory。
此外,對于安裝了 tkinter 包的機器,可以使用命令 pylint-gui打開一個簡單的 GUI 界面,在這里輸入模塊或者包的名字 ( 規則同命令行 ), 點擊 Run,Pylint 的輸出會在 GUI 中顯示。
Pylint 的常用命令行參數
-h,
主站蜘蛛池模板:
象州县|
南乐县|
易门县|
蒙阴县|
永平县|
屏山县|
靖江市|
区。|
蒙山县|
定远县|
赤水市|
武冈市|
普兰店市|
大埔区|
化德县|
嘉善县|
连云港市|
临海市|
聊城市|
中方县|
临湘市|
齐齐哈尔市|
高陵县|
南丹县|
云梦县|
丰原市|
镇巴县|
邹城市|
玉环县|
遂宁市|
宝清县|
遵义县|
清水河县|
郯城县|
望城县|
福贡县|
广宁县|
林芝县|
墨玉县|
镇巴县|
吉林省|