python代码库_7个Python库提供更可维护的代码

python代码库

可读性很重要。
Python的禅宗 ,蒂姆·彼得斯

当软件项目进入“维护模式”时,容易使可读性和编码标准落在旁。 (永远不会首先建立这些标准也很容易。)但是,在整个代码库中保持一致的样式和测试标准是减轻维护负担的重要组成部分,以确保未来的开发人员能够快速掌握新产品中发生的事情,主题项目并随着时间的推移保护应用程序的健康。

linting代码 (检查PEP 8和其他样式错误),强制使用一致的样式,并确保在项目成熟时接受可接受的测试。

检查您的代码样式

PEP 8是Python代码样式指南,它为行长,缩进,多行表达式和命名约定等设置了规则。 您的团队可能还拥有自己的样式规则,这些规则与PEP 8略有不同。任何代码样式指南的目标都是在整个代码库中实施一致的标准,以使其更具可读性,从而更易于维护。 这是三个库,可帮助美化您的代码。

1.皮林特

Pylint是一个检查PEP 8样式违规和常见错误的库。 它与几种流行的编辑器和IDE很好地集成在一起,也可以从命令行运行。

要安装,请运行pip install pylint

要从命令行使用pylint [options] path/to/dir ,请运行pylint [options] path/to/dirpylint [options] path/to/module.py 。 Pylint将向控制台输出有关样式冲突和其他错误的警告。

您可以使用名为pylintrc配置文件 pylintrc检查的错误。

2.片状8

Flake8是“将PEP8,Pyflakes(类似于Pylint),McCabe(代码复杂性检查器)和第三方插件粘合在一起的Python工具,用于检查某些Python代码的样式和质量。”

要使用Flake8,请运行pip install flake8 。 然后运行flake8 [options] path/to/dirflake8 [options] path/to/module.py以查看其错误和警告。

与Pylint一样,Flake8允许对其使用配置文件检查的内容进行一些自定义。 它具有非常清晰的文档,其中包括一些有用的提交挂钩 ,这些挂钩可自动将代码作为开发工作流程的一部分进行检查。

Flake8与流行的编辑器和IDE集成在一起,但是这些说明通常在文档中找不到。 要将Flake8与您喜欢的编辑器或IDE集成在一起,请在线搜索插件(例如, 用于Sublime Text的Flake8插件 )。

3. Isort

Isort是一个库,可以按字母顺序对您的导入进行排序,并将它们分成适当的部分 (例如,标准库导入,第三方库导入,从您自己的项目中导入等)。 如果模块中有很多导入,这将提高可读性,并使查找导入更加容易。

使用pip install isort ,并使用isort path/to/module.py运行它。 文档中提供了更多配置选项。 例如,您可以配置 isort如何处理.isort.cfg文件中一个库的多行导入。

与Flake8和Pylint一样,isort也提供了将其与流行的编辑器和IDE集成的插件。

外包你的代码风格

记住要为每个更改的文件从命令行手动运行linters是一件很痛苦的事情,并且您可能不喜欢特定插件在IDE中的行为。 另外,您的同事可能更喜欢使用其他样机,或者可能没有喜欢的编辑器使用的插件,或者您对于始终运行样机并更正警告可能不太谨慎。 随着时间的流逝,大家共享的代码库将变得混乱且难以阅读。

一个很好的解决方案是使用一个可将您的代码自动重新格式化为可通过PEP 8的库。 我们推荐的三个库都具有不同的自定义级别和不同的默认格式格式。 其中一些比其他的更自以为是,因此像使用Pylint和Flake8一样,您将需要对其进行测试,以了解哪些提供了您不能没有的自定义……以及可以使用的不变的默认值。

4. Autopep8

Autopep8会自动格式化您指定模块中的代码。 它将重新缩进行,修复缩进,删除多余的空格,并重构常见的比较错误(例如booleans和None )。 请参阅文档中的更正的完整列表

要安装,请运行pip install --upgrade autopep8 。 要重新格式化代码,请运行autopep8 --in-place --aggressive --aggressive <filename>aggressive标志(及其数量)指示您希望对代码样式赋予autopep8多少控制权。 阅读有关激进期权的更多信息。

5. Yapf

Yapf是自带配置选项列表的另一种重新格式化代码的选项 。 它与autopep8的不同之处在于,它不仅解决了PEP 8违规问题。 它还重新格式化了未专门违反PEP 8的代码,但它们的样式不一致或为了可读性更好而被格式化。

要安装,请运行pip install yapf 。 要重新格式化代码,请运行yapf [options] path/to/diryapf [options] path/to/module.py 。 还有自定义选项的完整列表。

6.黑色

布莱克(Black)是重新设定代码格式的短毛绒新手。 它类似于autopep8和Yapf,但更自以为是。 它的定制选项很少,这很重要。 这个想法是,您不必对代码样式做出决定; 唯一要做的决定是让布莱克为您决定。 您可以阅读有关有限的自定义选项的信息,以及有关将其存储在配置文件中的说明

Black需要Python 3.6以上版本,但可以格式化Python 2代码。 要使用,请运行pip install black 。 要美化您的代码,请运行: black path/to/dirblack path/to/module.py

检查您的测试范围

您正在编写测试,对不对? 然后,您将要确保提交给代码库的新代码已经过测试,并且不会降低测试覆盖率。 虽然测试覆盖率的百分比并不是衡量测试的有效性和充分性的唯一指标,但它是确保项目中遵循基本测试标准的一种方法。 对于测量测试覆盖率,我们有一个建议:覆盖率。

7.覆盖范围

Coverage提供了几种向您报告测试覆盖率的方式,包括将结果输出到控制台或HTML页面以及指示哪些行号缺少测试覆盖率。 您可以设置配置文件以自定义Coverage检查的内容,并使其更易于运行。

要安装,请运行pip install coverage 。 要运行程序并查看其输出,请运行coverage run [path/to/module.py] [args] ,您将看到程序的输出。 要查看缺少覆盖范围的代码行的coverage report -m ,请运行coverage report -m

持续集成工具

持续集成(CI)是一系列过程,您可以运行这些过程以在合并和部署代码之前自动检查棉绒错误并测试最小覆盖率。 有许多免费或付费工具可自动执行此过程,而完整的演练不在本文讨论范围之内。 但是,由于设置CI流程是删除代码块的重要一步,因此可以简化代码的可读性和可维护性,因此您应该总体上研究连续集成工具。 尤其要查看Travis CIJenkins


这些只是少数可用来检查Python代码的库。 如果您的收藏夹不在此列表中,请在评论中分享。

翻译自: https://opensource.com/article/18/7/7-python-libraries-more-maintainable-code

python代码库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值