Shell Command: yapf
Introduction
对于依赖于lint
的代码格式工具: autopep8.
YAPF 独辟蹊径, 其脱胎于 Daniel Jasper 开发的 clang-format, 使用如下流程进行格式化:
- 获取代码
- 使用初始代码重新编排, 即使初始代码未违背规范, 也会让代码遵循最佳格式
上述的理念和 Go 语言的 gofmt 工具类似, 终结了格式化的各种圣战
, 比如 autopep8, pep8ify.
关于格式化圣战: 如果一个项目的代码库, 无论何时修改, 通过 YAPF 优化之后, 代码风格就会统一, 则每次code review
时, 就没必要争论各种风格了.
YAPF 终极目标: 生成和遵循代码规范的程序员写出的一样的代码, 减少维护代码的苦差事.
Command
Command
命令格式:
1 | yapf [-h] [--style STYLE] [-d | -i] [-l START-END | -r] |
选项:
1 | --diff 类似git diff, 打印修复前修复后的文件对比 |
Return
正常情况下, YAPF 在执行成功时会返回 0, 否则, 返回非0
值. 对于--diff
命令, 如果没有任何
需要改动, 则返回0
, 否则, 返回非0
值.
Configure
对于每一个项目以及全局, 可以通过配置文件setup.py
来进行相关配置的工作, 其中配置格式使用key=value
, 例如:
1 | [style] |
配置文件所在目录:
1 | 1 利用命令--style指定 |
Example
格式化某一个文件并替换源文件:
1 | yapf --in-place test.py |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 狂想写作本!
评论