我的编程空间,编程开发者的网络收藏夹
学习永远不晚

这7大神器, 让你的Python 代码更易于维护

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

这7大神器, 让你的Python 代码更易于维护

        当软件项目进 入“维护模式”时,对代码的可读性和编码标准经常就忽略了(甚至从一开始就没有建立起这些标准。)但是,在代码库中保持一致的风格和测试标准是减少维护负担的重要因素,它能确保未来的开发人员能够快速了解新的项目情况 - 并保持项目的良好运行

       保护项目未来可维护性的一个好方法就是使用外部库来检查你的代码运行状况。以下是我们最喜欢的一些用于检查代码的库(包含检查PEP 8和其他样式错误),让代码风格保持一致,并确保在项目成熟时的测试覆盖率保持在可接受范围。

检查你的代码风格

PEP 8是Python代码风格规范,它对行长度,缩进,多行表达式和命名约定等内容有明确的规范。你的团队可能也有自己的代码规则,可能与PEP 8略有不同。但是,任何代码风格都是为了在代码库中强制实施一致的标准,使其更具可读性,从而更易于维护。这里有三个库来帮助美化你的代码。

1、 Pylint

Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8)和有潜在问题的代码。 。它与几个流行的编辑器和IDE很好地集成,也可以从命令行运行。

要安装,请运行  pip install pylint 。

要从命令行运行 Pylint,请运行 pylint [options] path/to/dir 或 pylint [options] path/to/module.py 。Pylint 会向控制台输出不符合代码风格标准以及错误代码的地方

你还可以调用 pylintrc 配置文件来自定义 Pylint 检查的错误。(项目地址: https://www.pylint.org/ )

2、Flake8

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

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

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

Flake8能够与流行的编辑器和IDE集成,但这些指令通常在文档中并没有说明。要将Flake8与你喜欢的编辑器或IDE集成,可以在线搜索插件(例如 Sublime Text的Flake8插件)。(项目地址: http://flake8.pycqa.org/en/latest/ )

3、Isort

isort 可自动对 Python的 import语句进行排序和分段。可将大量的 import结构转成非常适合阅读的排版。(例如,标准库导入,第三方库导入,从你自己的项目导入等),这样可以提高可读性,而且如果你导入的库较多,还能快速找到各个库

安装  isort pip install isort ,然后运行 isort path/to/module.py 。文档中提供了许多配置选项。例如,你可以配置 isort如何处理.isort.cfg文件来执行一个库的多行导入。

与Flake8和Pylint一样,isort还提供了将其与流行的编辑器和IDE集成的插件。(项目地址: https://github.com/timothycrosley/isort )

分享你的代码风格

记住从命令行手动为每个文件运行linters是一件很痛苦的事情,你可能也不太喜欢通过运行 IDE 中某个插件来实现这个功能。另外,您的同事可能更喜欢别的方式,或者可能他们最喜欢的编辑器的没有这个插件,或者你检查代码不够细致,久而久之,你们共享的代码库将变得混乱并且难以阅读。

一个很好的解决方案是使用一个库,自动将代码重新按照PEP 8规范进行格式化。我们推荐的三个库都有不同的自定义级别来控制如何格式化代码,像pylint的和Flake8,你要先测试,看看它是否存在你接受不了却无法更改的默认配置。 

4、 Autopep8

Autopep8可以自动格式化你指定的模块中的代码。它将重新缩进行,修复缩进,删除无关的空白,并重构常见的比较错误(如布尔和None值)。你可以在它的文档中查看完整的更改列表

安装Autopep8,需要先运行 pip install --upgrade autopep8 。要重新格式化代码,请运行 pip install --upgrade autopep8  。然后执行autopep8 --in-place --aggressive --aggressive <filename> 就可以重新格式化你的代码。该aggressive标志(和它们的数量),表明autopep8对你的代码风格有多少控制权。(项目地址: https://github.com/hhatto/autopep8 )

5、 Yapf

Yapf是重新格式化代码的另一种选择,它带有自己的配置选项列表。它与autopep8的不同之处在于它不仅仅解决了违反PEP 8规范的问题。它还重新格式化了没有违反PEP 8规范的代码,但没有一致地设置样式,可能是为了可读性而格式化得更好。

要安装Yapf,需要运行 pip install yapf 。要重新格式化代码,要运行 yapf [options] path/to/dir 或 yapf [options] path/to/module.py 。(项目地址: https://github.com/google/yapf )

6、 Black

在所有的代码检查工具中,Black算是比较新的一个。它与autopep8和Yapf类似,但限制比较多,它很少有自定义选项,这是重点,这意味着你无法自定义代码风格。

Black支持Python 3.6+以上的版本,但可以

格式化Python 2代码。要使用Black,请运行 pip install black 。要美化您的代码,请运行:black path/to/dir或black path/to/module.py 。(项目地址: https://github.com/ambv/black )

检查代码的测试覆盖率

假如你正在编写测试,你需要确保对代码库提交的新代码进行测试,并且不会降低代码的测试覆盖率。虽然测试覆盖率的百分比不是衡量测试有效性和充分性的唯一指标,但它是确保项目中遵循基本测试标准的一种方法。为了测量测试覆盖率,我们有一个建议:使用 Coverage 这个库。

7、Coverage

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

要安装Coverage,请运行 pip install coverage 。要运行程序并查看其输出,请运行 coverage run [path/to/module.py] [args] ,接着你将看到程序的输出。要查看哪些代码行没有被覆盖,请运行 coverage report -m 。(项目地址:https://coverage.readthedocs.io/en/latest/ )

持续集成工具

持续集成(CI)是在合并和部署代码之前,自动检查代码风格错误和测试最小覆盖率的一系列过程。有许多免费或付费的工具可以自动化这个过程,本文这里就不详细介绍了。但是,由于设置CI过程是将代码块删除为更易于阅读和维护的重要步骤,因此,你不得不重视。

———————————————————————————————————— 

想了解更多前沿技术,想获取最新免费编程资源视频源码笔记,小伙伴请往下看!

如果您觉得此篇文章对您有帮助,欢迎关注微信公众号:大禹编程,您的支持是对我最大的鼓励!共同学习,共同进步: 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

这7大神器, 让你的Python 代码更易于维护

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

这7大神器, 让你的Python 代码更易于维护

当软件项目进 入“维护模式”时,对代码的可读性和编码标准经常就忽略了(甚至从一开始就没有建立起这些标准。)但是,在代码库中保持一致的风格和测试标准是减少维护负担的重要因素,它能确保未来的开发人员能够快速了解新的项目情况 -
2023-06-02

JavaScript CommonJS模块化开发,让你的代码更加易于维护

JavaScript CommonJS模块化开发是一种广泛使用的模块化解决方案,它允许开发者将代码组织成多个模块,从而提高代码的可重用性、可维护性和可测试性。本文将介绍 CommonJS 模块化开发的基础知识,并通过示例演示如何使用它来组织和管理 JavaScript 代码。
JavaScript CommonJS模块化开发,让你的代码更加易于维护
2024-02-10

让Python代码更易维护的七种武器分别是哪些

这期内容当中小编将会给大家带来有关让Python代码更易维护的七种武器分别是哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录