2016-04-22 103 views
6

E226错误代码约为“算术运算符周围缺失空格”PEP8 E226推荐

我使用Anaconda的包在崇高将突出作为PEP8 E226违反例如这一行:

hypot2 = x*x + y*y 

但在Guido's PEP8 style guide该行实际上被示出为运营商内的的空间recommended use例子。

问题:这是正确的指导方针?总是在操作员周围留出空间,或者在某些情况下(如Guido的建议所示)?

另外:谁决定进入PEP8的内容?我会认为Guido的推荐几乎可以确定这是如何工作的。

+1

不确定你希望在这里得到什么答案...... PEP 8是PEP 8. Sublime的PEP 8样式检查器是一个不同的主题。也许/显然该包的实施者没有完全按照PEP 8实际建议中的描述来实施该特定规则。 – deceze

+0

对不起,我添加了我的实际问题,以便更清楚。我想知道哪一条准则是正确的。第二个问题是一个不太重要的问题。 – Gabriel

+0

恩,你的问题只有一条指导方针,你想让我们选择什么? – wRAR

回答

8

PEP8工具的维护者决定进入它的内容。

正如您所注意到的,这些并不总是完全符合PEP8风格指南。在这种特殊情况下,我不知道维护人员是否认为这是一个错误,或者是一个蓄意的决定。你必须要求他们找出答案,否则你可能会在提交历史记录中找到答案。

Guido最近要求pep8和pep257工具的维护人员重新命名它们,以避免这种混淆。 See this issue for example。结果,这些工具分别被重新命名为pycodestyle和pydocstyle。

+1

感谢您澄清,Alasdair。我认为这样的事情很久以前就会解决。 – Gabriel

5

它说,在PEP8:

如果使用具有不同优先级的运营商,考虑添加空格周围的经营者与最低优先级(IES)。 使用您自己的判断;但是,从不使用多个空格,并且在二元运算符的两侧始终具有相同数量的空白。 (重点是我自己的)。

在所列出的例子中,+具有较低的优先级,所以BDFL选择使用空白围绕它和周围使用较高优先级*没有空格。

+1

请解释downvotes。无法从沉默中学习任何东西。:) – erip

+1

我upvoted,我有**从来没有**理解downvotes没有给出解释。对我来说,他们什么都不加。 – Gabriel

+0

我没有downvote,但我想这是因为你的回答不回答OP的问题 - 即Q1:是pep8文本还是pep8-工具是否正确?和Q2:谁决定进入什么内容PEP8? – thebjorn