成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Pylint:讓你的Python代碼保持一致

開發 后端
Pylint 是更高層級的 Python 樣式強制程序。而 flake8 和 black 檢查的是“本地”樣式:換行位置、注釋的格式、發現注釋掉的代碼或日志格式中的錯誤做法之類的問題。

[[280333]]

當你想要爭論代碼復雜性時,Pylint 是你的朋友。

Pylint 是更高層級的 Python 樣式強制程序。而 flake8 和 black 檢查的是“本地”樣式:換行位置、注釋的格式、發現注釋掉的代碼或日志格式中的錯誤做法之類的問題。

默認情況下,Pylint 非常激進。它將對每樣東西都提供嚴厲的意見,從檢查是否實際實現聲明的接口到重構重復代碼的可能性,這對新用戶來說可能會很多。一種溫和地將其引入項目或團隊的方法是先關閉所有檢查器,然后逐個啟用檢查器。如果你已經在使用 flake8、black 和 mypy,這尤其有用:Pylint 有相當多的檢查器和它們在功能上重疊。

但是,Pylint 獨有之處之一是能夠強制執行更高級別的問題:例如,函數的行數或者類中方法的數量。

這些數字可能因項目而異,并且可能取決于開發團隊的偏好。但是,一旦團隊就參數達成一致,使用自動工具強制化這些參數非常有用。這是 Pylint 閃耀的地方。

配置 Pylint

要以空配置開始,請將 .pylintrc 設置為

  1. [MESSAGES CONTROL]
  2.  
  3. disable=all

這將禁用所有 Pylint 消息。由于其中許多是冗余的,這是有道理的。在 Pylint 中,message 是一種特定的警告。

你可以通過運行 pylint 來確認所有消息都已關閉:

  1. $ pylint <my package>

通常,向 pylint 命令行添加參數并不是一個好主意:配置 pylint 的位置是 .pylintrc。為了使它做一些有用的事,我們需要啟用一些消息。

要啟用消息,在 .pylintrc 中的 [MESSAGES CONTROL] 下添加

  1. enable=<message>,
  2. ...

對于看起來有用的“消息”(Pylint 稱之為不同類型的警告)。我最喜歡的包括 too-many-linestoo-many-argumentstoo-many-branches。所有這些會限制模塊或函數的復雜性,并且無需進行人工操作即可客觀地進行代碼復雜度測量。

檢查器消息的來源:每條消息只屬于一個檢查器。許多最有用的消息都在設計檢查器下。默認數字通常都不錯,但要調整最大值也很簡單:我們可以在 .pylintrc 中添加一個名為 DESIGN 的段。

  1. [DESIGN]
  2. max-args=7
  3. max-locals=15

另一個有用的消息來源是“重構”檢查器。我已啟用一些最喜歡的消息有 consider-using-dict-comprehensionstop-iteration-return(它會查找正確的停止迭代的方式是 return 而使用了 raise StopIteration 的迭代器)和 chained-comparison,它將建議使用如 1 <= x < 5,而不是不太明顯的 1 <= x && 5 > 5 的語法。

最后是一個在性能方面消耗很大的檢查器,但它非常有用,就是 similarities。它會查找不同部分代碼之間的復制粘貼來強制執行“不要重復自己”(DRY 原則)。它只啟用一條消息:duplicate-code。默認的 “最小相似行數” 設置為 4。可以使用 .pylintrc 將其設置為不同的值。

  1. [SIMILARITIES]
  2. min-similarity-lines=3

Pylint 使代碼評審變得簡單

如果你厭倦了需要指出一個類太復雜,或者兩個不同的函數基本相同的代碼評審,請將 Pylint 添加到你的持續集成配置中,并且只需要對項目復雜性準則的爭論一次就行。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-02-04 15:05:36

人工智能機器學習技術

2024-02-20 08:35:08

數據庫緩存代碼

2021-11-12 15:40:37

Windows 11操作系統微軟

2022-06-30 05:26:41

網絡安全業務

2022-09-22 07:27:49

IT/OT治理網絡安全物聯網安全

2024-03-12 13:26:46

2021-03-29 12:45:24

微軟Edge瀏覽器

2020-09-11 08:59:02

網絡安全業務連續性計勒索軟件

2009-08-28 08:56:48

2022-07-11 09:18:24

SwiftLintSwift

2024-01-18 16:52:02

CISO企業? 網絡安全

2022-12-14 08:23:30

2023-07-27 08:29:09

2017-06-27 09:40:28

MYSQL數據備份

2021-01-25 07:54:25

Windows10操作系統Windows10X

2021-02-04 06:30:26

Python編程語言

2024-01-17 08:18:18

2023-10-13 09:17:11

代碼Java

2022-02-17 21:04:27

數據庫MysqlRedis

2013-05-13 09:59:37

Windows操作系統虛擬化網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.狠狠操| 国产精品不卡 | 久久精品亚洲精品 | 亚洲在线一区 | 另类a v| 蜜臀久久99精品久久久久久宅男 | 国产免费一区二区三区免费视频 | 欧美日韩中文字幕在线 | 午夜精品久久 | 一区二区三区免费观看 | 国产成人精品综合 | 99精品国产一区二区青青牛奶 | 一级做a爰片性色毛片 | 毛片软件| xxxcom在线观看 | 国产精品欧美精品 | 久久国产精品一区二区三区 | 免费国产精品久久久久久 | 午夜精品久久 | 二区在线观看 | 色综合久久天天综合网 | 欧美色性 | 国产激情在线播放 | 红桃成人在线 | 美女三区 | 亚洲一区国产精品 | 亚洲精品自在在线观看 | 91精品国产91久久综合桃花 | 欧美一区免费在线观看 | 国产高清免费 | a级在线免费观看 | 日本久草| 在线电影日韩 | 亚洲国产激情 | 国产区在线 | 亚洲一区视频在线播放 | 午夜国产羞羞视频免费网站 | 国产精品福利在线 | 亚洲一区二区三区四区五区中文 | 欧美一区二区三区国产 | 午夜视频一区 |