python代碼檢查工具pylint 讓你的python更規(guī)范
2020-02-23 04:48:01
供稿:網(wǎng)友
1、pylint是什么?
Pylint 是一個 Python 代碼分析工具,它分析 Python 代碼中的錯誤,查找不符合代碼風(fēng)格標(biāo)準(zhǔn)(Pylint 默認(rèn)使用的代碼風(fēng)格是 PEP 8,具體信息,請參閱參考資料)和有潛在問題的代碼。目前 Pylint 的最新版本是 pylint-0.18.1。
Pylint 是一個 Python 工具,除了平常代碼分析工具的作用之外,它提供了更多的功能:如檢查一行代碼的長度,變量名是否符合命名標(biāo)準(zhǔn),一個聲明過的接口是否被真正實現(xiàn)等等。
Pylint 的一個很大的好處是它的高可配置性,高可定制性,并且可以很容易寫小插件來添加功能。
如果運行兩次 Pylint,它會同時顯示出當(dāng)前和上次的運行結(jié)果,從而可以看出代碼質(zhì)量是否得到了改進(jìn)。
目前在 eclipse 的 pydev 插件中也集成了 Pylint。
pylint是一個Python代碼風(fēng)格的檢查工具, 它依據(jù)的標(biāo)準(zhǔn)是Guido van Rossum的PEP8。
pylint類似于PyChecker, 但提供了更多的功能, 如檢查代碼行的長度, 檢查變量命名是否符合編碼規(guī)范, 或檢查聲明的接口是否被真正的實現(xiàn), 完整的檢查功能請參見http://www.logilab.org/card/pylintfeatures。
pylint的最大優(yōu)勢在于其高度的可配置化和可定制化,你可以很容易地寫一個小插件添加個人功能。
安裝方法: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?
為了寫出好代碼。什么是好代碼?符合團隊編碼習(xí)慣的代碼:統(tǒng)一的命名,結(jié)構(gòu)。
它的類似產(chǎn)品是什么?PyChecker
你還有啥補充?
3、 怎么使用pylint?
基礎(chǔ)使用:
通過三種代碼來進(jìn)行測時,得分從1,不斷的根據(jù)pylint的提示進(jìn)行重構(gòu),最終得到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