欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python如何實(shí)現(xiàn)代碼檢查

 更新時(shí)間:2019年06月28日 10:37:19   作者:MA木易YA  
這篇文章主要介紹了python如何實(shí)現(xiàn)代碼檢查,如果代碼不規(guī)范,亂七八糟的,被小伙伴打死或者熬夜找bug事小,影響項(xiàng)目進(jìn)度或者破壞項(xiàng)目結(jié)構(gòu)就完蛋了,需要的朋友可以參考下

前言

通常我們的python代碼都是遵循PEP8的規(guī)范化格式,目的是為了保持代碼的一致性、可讀性。,這里給大家推薦幾個(gè)常用的靜態(tài)代碼檢查工具,大家可以酌情選擇使用

1. pylint

Pylint是一個(gè)Python靜態(tài)代碼分析工具,它可以查找編程錯(cuò)誤,幫助強(qiáng)制執(zhí)行編碼標(biāo)準(zhǔn),嗅探代碼異味并提供簡(jiǎn)單的重構(gòu)建議。

它具有高度可配置性,具有特殊的編譯指示來(lái)控制代碼中的錯(cuò)誤和警告,以及廣泛的配置文件。也可以編寫自己的插件來(lái)添加自己的檢查或以某種方式擴(kuò)展pylint。

缺省情況下,PyLint 啟用許多規(guī)則。它具有高度可配置性,從代碼內(nèi)部處理程序控制它。另外,編寫插件添加到自己的檢查中是可能的。

安裝

pip install pylint
#如果您使用的是Python 3.6+,請(qǐng)升級(jí)以獲得對(duì)您的版本的完全支持:
pip install pylint --upgrade
#如果要從源分發(fā)版安裝,請(qǐng)解壓縮tarball并運(yùn)行以下命令
python setup.py install

文檔

Pylint附帶以下附加命令:

  • pyreverse:一個(gè)UML圖生成器
  • symilar:一個(gè)獨(dú)立的相似性檢查器
  • epylint:Emacs和Flymake兼容的Pylint

使用

 pylint的各種引用以及使用方式都可以去文檔查找,這里僅介紹一下比較基礎(chǔ)簡(jiǎn)單的示例

pylint [options] modules_or_packages

命令行選項(xiàng)

參數(shù) 含義
--version 顯示程序的版本號(hào)并退出
-h, --help 顯示有關(guān)命令行選項(xiàng)的幫助
--ignore=<file[,file...]> 將文件或目錄添加到黑名單。它們應(yīng)該是基本名稱,而不是路徑。
--output-format=<format> 選擇輸出格式(文本,json,自定義)。
--list-msgs 生成pylint的消息。

錯(cuò)誤代碼含義

  • C:慣例,違反了編碼風(fēng)格標(biāo)準(zhǔn)
  • R:重構(gòu),代碼非常糟糕
  • W:警告,某些 Python 特定的問題
  • E:錯(cuò)誤,很可能是代碼中的錯(cuò)誤
  • F:致命錯(cuò)誤,阻止 Pylint 進(jìn)一步運(yùn)行的錯(cuò)誤

更多pylint相關(guān)可參考文檔

2. yapf:

Python的大多數(shù)當(dāng)前格式化程序 - 例如,autopep8和pep8ify ---用于從代碼中刪除lint錯(cuò)誤。這有一些明顯的局限性。例如,符合PEP 8指南的代碼可能無(wú)法重新格式化。但這并不意味著代碼看起來(lái)很好。

YAPF采用不同的方法。它基于由Daniel Jasper開發(fā)的'clang-format'。從本質(zhì)上講,算法會(huì)獲取代碼并將其重新格式化為符合樣式指南的最佳格式,即使原始代碼沒有違反樣式指南。這個(gè)想法也類似于Go編程語(yǔ)言的'gofmt'工具:結(jié)束所有關(guān)于格式化的神圣戰(zhàn)爭(zhēng)

如果項(xiàng)目的整個(gè)代碼庫(kù)只是通過(guò)YAPF進(jìn)行修改,只要進(jìn)行修改,樣式在整個(gè)項(xiàng)目中保持一致,并且沒有必要在每次代碼審查中爭(zhēng)論風(fēng)格。

最終目標(biāo)是YAPF生成的代碼與程序員在遵循樣式指南時(shí)編寫的代碼一樣好。它消除了維護(hù)代碼的一些苦差事。
安裝

pip install yapf

使用

yapf [-h] [-v] [-d | -i] [-r | -l START-END] [-e PATTERN]
[--style STYLE] [--style-help] [--no-local-style] [-p]
[-vv]
[files [files ...]]

同上,一樣也可以直接跟文件進(jìn)行操作

參數(shù) 參數(shù)說(shuō)明
-h, --help 顯示此幫助消息并退出
-v, --version 顯示版本號(hào)并退出
-d, --diff 比較差異
-i, --in-place 對(duì)文件進(jìn)行更改
-r, --recursive 以遞歸方式運(yùn)行目錄

示例

#直接跟文件名(并不修改文件)
yapf <python file>
#格式化前后對(duì)比
yapf -d <python file>
#直接修改源文件
yapf -i <python file>
#導(dǎo)出配置文件
yapf --style-help > style.cfg
#并發(fā)格式化多個(gè)文件,需要futures模塊支持
yapf -pi *.py

更多yapf相關(guān)可參考yapf

其他的此類工具還有Pyflakes,flake8等等,小編直接出到這兩個(gè)常用的,更多內(nèi)容大家在項(xiàng)目實(shí)戰(zhàn)中應(yīng)該會(huì)有更多接觸

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何通過(guò)Python實(shí)現(xiàn)RabbitMQ延遲隊(duì)列

    如何通過(guò)Python實(shí)現(xiàn)RabbitMQ延遲隊(duì)列

    這篇文章主要介紹了如何通過(guò)Python實(shí)現(xiàn)RabbitMQ延遲隊(duì)列,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python圖像運(yùn)算之圖像灰度線性變換詳解

    Python圖像運(yùn)算之圖像灰度線性變換詳解

    這篇文章將詳細(xì)講解圖像灰度線性變換,包括灰度上移、對(duì)比度增強(qiáng)、對(duì)比度減弱和灰度反色變換。文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-03-03
  • python中的pygame實(shí)現(xiàn)接球小游戲

    python中的pygame實(shí)現(xiàn)接球小游戲

    這篇文章主要介紹了python中的pygame實(shí)現(xiàn)接球小游戲,文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • pandas讀取csv文件,分隔符參數(shù)sep的實(shí)例

    pandas讀取csv文件,分隔符參數(shù)sep的實(shí)例

    今天小編就為大家分享一篇pandas讀取csv文件,分隔符參數(shù)sep的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python三目運(yùn)算符(三元運(yùn)算符)用法詳解(含實(shí)例代碼)

    Python三目運(yùn)算符(三元運(yùn)算符)用法詳解(含實(shí)例代碼)

    三元運(yùn)算符在Python里被稱為條件表達(dá)式,這些表達(dá)式基于真(true)/假(false)的條件判斷,在Python 2.4以上才有了三元操作,下面這篇文章主要給大家介紹了關(guān)于Python三目運(yùn)算符(三元運(yùn)算符)用法的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Python全棧之基本數(shù)據(jù)類型

    Python全棧之基本數(shù)據(jù)類型

    這篇文章主要為大家介紹了Python基本數(shù)據(jù)類型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python中實(shí)現(xiàn)k-means聚類算法詳解

    python中實(shí)現(xiàn)k-means聚類算法詳解

    這篇文章主要介紹了python中實(shí)現(xiàn)k-means聚類算法詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 如何在vscode中安裝python庫(kù)的方法步驟

    如何在vscode中安裝python庫(kù)的方法步驟

    這篇文章主要介紹了如何在vscode中安裝python庫(kù)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 如何將Python代碼轉(zhuǎn)化為可執(zhí)行的程序

    如何將Python代碼轉(zhuǎn)化為可執(zhí)行的程序

    在Python中,將代碼轉(zhuǎn)成可以執(zhí)行的程序需要安裝庫(kù)pyinstaller,如果是Windows用戶,打開Anaconda?Prompt輸入相對(duì)應(yīng)代碼,下面小編給大家詳細(xì)講解如何將Python代碼轉(zhuǎn)化為可執(zhí)行的程序,感興趣的朋友一起看看吧
    2024-03-03
  • Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例

    Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例

    這篇文章主要介紹了Numpy實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的示例,幫助大家更好的理解和使用Numpy,感興趣的朋友可以了解下
    2020-10-10

最新評(píng)論