推荐一个小而美的Python代码格式化工具

新闻 开发工具
代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 “WFT” 定律,即每分钟爆出 “WTF” 的次数。你在读别人代码或者做 Code Review 的时候有没有 “WTF” 冲动呢?

 代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 “WFT” 定律,即每分钟爆出 “WTF” 的次数。你在读别人代码或者做 Code Review 的时候有没有 “WTF” 冲动呢?

为了帮助开发者统一代码风格,Python 社区提出了 PEP8 代码编码风格,它并没有强制要求大家必须遵循,Python 官方同时推出了一个检查代码风格是否符合 PEP8 的工具,名字也叫 pep8,后来被重命名为了 pycodestyle。

看如下代码:

推荐一个小而美的Python代码格式化工具

这是一个不符合 PEP8 的代码段,用 pycodestyle 可检测有哪些地方不符合 PEP8 风格。

推荐一个小而美的Python代码格式化工具

pycodestyle 提示我们有两处地方不符合规范,***个是单行有多个 import,第二个是类与模块之间需要空两行,这只是一个简单代码示例,真正的业务代码可能有上百行甚至几百行,如果我们要根据 PEP8 规范逐个进行修改建议会非常耗时,而我们的开发过程中,如果时刻关注每一行代码是否完全遵循 PEP8,将影响开发效率。

而有这么一款工具 Black,号称不妥协的代码格式化工具,为什么叫不妥协呢?因为它检测到不符合规范的代码风格直接就帮你全部格式化好,根本不需要你确定,直接替你做好决定。它也是 requests 作者最喜欢的工具之一

使用非常简单,安装成功后,和其他系统命令一样使用,只需在 black 命令后面指定需要格式化的文件或者目录就ok。

black link.py

推荐一个小而美的Python代码格式化工具

这是一款小而美的工具,它并不是完全按照 PEP8 规范来格式化,比如默认每行代码的字符数是88个,当然你可以通过参数 -l 自定义长度,能一行显示完成的代码会放在一行,比如有多个元素的列表

推荐一个小而美的Python代码格式化工具

后者把多个元素放在一行,显然更易读,而且代码更紧凑(如果你的工资是按照代码行数来算的话,不建议这么做),Black 是 PEP8 的严格子集。我的***实践方式就是使用 PyCharm 自带的格式化工具配合 Black 使用。因为 Black 也支持集成到 Pycharm 中。

如何集成 Pycharm?1、 安装black:

pip install black

2、 找到 black 的安装路径

$ which black # linux/mac$ where black # windows3、 添加扩展工具,打开 Preferences->Tools->External Tools ,添加一个新的扩展工具,Program 填 black 的安装路径,Arguments 填 $FilePath$

推荐一个小而美的Python代码格式化工具

4、选择 Tools-> External Tools-> Black 即可对当前打开的文件斤西瓜代码格式化,当然,你还可以为其指定一个快捷键,使操作起来更方便。

推荐一个小而美的Python代码格式化工具

值得注意的是,该工具只支持 Python3.6 环境

责任编辑:张燕妮 来源: 头条科技
相关推荐

2010-08-09 09:14:37

Flex代码格式化

2012-05-16 09:14:11

代码美化代码工具Java

2010-08-03 10:40:29

Flex代码格式化

2023-01-07 23:24:00

python格式化工具

2010-08-10 13:28:21

Flex代码格式化

2024-05-20 01:00:00

Python代码

2016-01-13 15:11:32

leangoo工具

2023-11-13 08:11:30

Golang测试驱动开发

2024-05-07 07:40:26

Visual工具XAML

2021-03-05 10:13:45

Python 开发编程语言

2021-02-03 19:46:01

工具Snipaste软件开发

2023-02-26 01:28:09

终端命令行工具

2023-12-08 08:02:40

开箱React​组件

2016-12-20 09:13:27

开源项目sofa

2024-05-16 12:03:54

Python代码开发

2023-02-21 08:02:09

可视化工具图表

2021-04-14 10:47:12

区块链比特币以太坊

2020-06-22 07:30:00

React开发工具

2018-03-22 13:58:06

Python换脸程序

2024-10-09 17:10:05

点赞
收藏

51CTO技术栈公众号