OpenStack黑客准则实施
hacking的Python项目详细描述
简介:hacking是一组flake8插件,用于测试和执行:ref:`styleguide`.
hacking锁定其依赖项,因为一些依赖项的新版本可能会中断基于hacking的选通作业。这是因为新版本的依赖项可以引入新规则,或使现有规则更加严格。
安装
==
``黑客攻击``,
``pep8`,``mccabe``和``pyflakes``插件。
origin
==
hacking在nova的第一次提交中以文本文件的形式开始了它的生命。它最初基于"google python风格指南",随着时间的推移,添加了更多特定于openstack的规则。黑客攻击有几个目的:
1。就共同的风格指南达成一致,这样评论就不会陷入风格的泥潭。(例如:docstring指南)
2.通过使
样式更加统一,使许多不同作者编写的代码更易于阅读。(例如:Unix与Windows换行)
3.说出危险的模式并避免它们。(例如:隐藏内置
或保留字)
_` google python style guide`:https://google.github.io/styleguide/pyguide.html
这样,项目就可以在接受维护更新时锁定"major.minor"编号,从而启动黑客攻击,而不必担心新版本将通过新的检查来打开大门。例如,项目可以依赖于"hacking"=0.10.0,<;0.11.0`,并且可以知道w
在"0.10.0"通过的地方,"0.10.1"不会失败。
添加附加检查
=======
每个检查都是一个pep8插件,请阅读
-https://github.com/jcrocholl/pep8/blob/master/docs/developer.rst更改后的规则应执行以下操作之一
-大幅提高代码的可审查性(例如:h301、h303)
,因为它们使人们易于理解符号的来源)
-捕获将来可能出现的常见编程错误(h201)
-防止出现这种情况这将100%的时间由
developers(h903)
开发,但是,一如既往,记住这些是指导原则。把他们当作这样。总有例外的时候。所有新规则都应支持noqa。
我们不想指定
样式,只想强制执行它。
-openstack样式指南的规范源是:ref:`styleguide`,
而hacking只会强制执行它们;所以当添加新的检查时,它必须在``hacking.rst`
-假阴性是可以的,但假阳性不是可以的。
-不能是特定于项目的,特定于项目的检查应为"本地检查"
-包括广泛的测试
-注册为"setup.cfg"中的入口点
-错误代码必须在相关的"hxxx"组中
-检查不应尝试从正在检查的代码导入模块d.
导入随机模块,在过去给我们带来了各种麻烦。
这些检查是:
-[h106]不要将vim配置放在源文件中。
-[h203]使用assert(not)none检查none。
-[h204]使用assert(not)equal检查equality。
-[h205]使用assert(greater less)(equal)进行比较。
-[h210]要求在
mock.patch/mock.patch.object调用中使用"autospec"、"spec"或"spec"seterpolations at logging calls.
要启用这些检查,请编辑"tox.ini"文件的"flake8"部分。
例如,要启用h106和h203:
代码块:ini
[flake8]
enable extensions=h106,h203
local checks
==
hacking支持在源树中进行本地更改。它们可以配置为以两种不同的方式运行。它们可以单独注册,也可以使用工厂函数进行注册。
对于单独注册,请在tox.ini的hacking部分中放置一个以逗号分隔的pep8兼容的检查函数列表。例如:
…代码块::ini
[hacking]
local check=nova.tests.hacking.bad_code_is_可怕
如果想要
注册,可调用的
应该期望对所有内容调用传入函数。例如:
…代码块:ini
[黑客攻击]
本地检查工厂=nova.tests.hacking.factory
hacking锁定其依赖项,因为一些依赖项的新版本可能会中断基于hacking的选通作业。这是因为新版本的依赖项可以引入新规则,或使现有规则更加严格。
安装
==
``黑客攻击``,
``pep8`,``mccabe``和``pyflakes``插件。
origin
==
hacking在nova的第一次提交中以文本文件的形式开始了它的生命。它最初基于"google python风格指南",随着时间的推移,添加了更多特定于openstack的规则。黑客攻击有几个目的:
1。就共同的风格指南达成一致,这样评论就不会陷入风格的泥潭。(例如:docstring指南)
2.通过使
样式更加统一,使许多不同作者编写的代码更易于阅读。(例如:Unix与Windows换行)
3.说出危险的模式并避免它们。(例如:隐藏内置
或保留字)
_` google python style guide`:https://google.github.io/styleguide/pyguide.html
这样,项目就可以在接受维护更新时锁定"major.minor"编号,从而启动黑客攻击,而不必担心新版本将通过新的检查来打开大门。例如,项目可以依赖于"hacking"=0.10.0,<;0.11.0`,并且可以知道w
在"0.10.0"通过的地方,"0.10.1"不会失败。
添加附加检查
=======
每个检查都是一个pep8插件,请阅读
-https://github.com/jcrocholl/pep8/blob/master/docs/developer.rst更改后的规则应执行以下操作之一
-大幅提高代码的可审查性(例如:h301、h303)
,因为它们使人们易于理解符号的来源)
-捕获将来可能出现的常见编程错误(h201)
-防止出现这种情况这将100%的时间由
developers(h903)
开发,但是,一如既往,记住这些是指导原则。把他们当作这样。总有例外的时候。所有新规则都应支持noqa。
我们不想指定
样式,只想强制执行它。
-openstack样式指南的规范源是:ref:`styleguide`,
而hacking只会强制执行它们;所以当添加新的检查时,它必须在``hacking.rst`
-假阴性是可以的,但假阳性不是可以的。
-不能是特定于项目的,特定于项目的检查应为"本地检查"
-包括广泛的测试
-注册为"setup.cfg"中的入口点
-错误代码必须在相关的"hxxx"组中
-检查不应尝试从正在检查的代码导入模块d.
导入随机模块,在过去给我们带来了各种麻烦。
这些检查是:
-[h106]不要将vim配置放在源文件中。
-[h203]使用assert(not)none检查none。
-[h204]使用assert(not)equal检查equality。
-[h205]使用assert(greater less)(equal)进行比较。
-[h210]要求在
mock.patch/mock.patch.object调用中使用"autospec"、"spec"或"spec"seterpolations at logging calls.
要启用这些检查,请编辑"tox.ini"文件的"flake8"部分。
例如,要启用h106和h203:
代码块:ini
[flake8]
enable extensions=h106,h203
local checks
==
hacking支持在源树中进行本地更改。它们可以配置为以两种不同的方式运行。它们可以单独注册,也可以使用工厂函数进行注册。
对于单独注册,请在tox.ini的hacking部分中放置一个以逗号分隔的pep8兼容的检查函数列表。例如:
…代码块::ini
[hacking]
local check=nova.tests.hacking.bad_code_is_可怕
如果想要
注册,可调用的
应该期望对所有内容调用传入函数。例如:
…代码块:ini
[黑客攻击]
本地检查工厂=nova.tests.hacking.factory