# A Foolish Consistency is the Hobgoblin of Little Minds [1]
# [1]: http://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds
from sphinx.application import Sphinx
import re
def setup(app):
noqa_regex = re.compile('^(.*)\s\s#\snoqa.*$')
def trim_noqa(app, what_, name, obj, options):
for i, line in enumerate(lines):
if noqa_regex.match(line):
new_line = noqa_regex.sub(r'\1', line)
lines[i] = new_line
app.connect('autodoc-process-docstring', trim_noqa)
return app
8条答案
按热度按时间pnwntuvh1#
不要破坏URL:
z2acfund2#
关于PEP 8
但最重要的是:知道什么时候应该不一致--有时候风格指南并不适用。当有疑问的时候,用你最好的判断。看看其他的例子,决定什么看起来最好。不要犹豫问!
有两个很好的理由来打破一个特定的规则:
就我个人而言,我会使用这个建议,而不是在你的评论中为人们留下完整的描述性URL。
gcuhipw93#
您可以在行尾使用
# noqa
来阻止PEP 8/Flake 8运行该检查。PEP 8允许通过以下方式执行此操作:特殊情况还不至于特殊到违反规定。
lymnna714#
我会说别管它...
PEP20:
特殊情况还不至于特殊到违反规定。
尽管实用胜过纯洁。
更实用的是能够快速复制/粘贴url,然后在粘贴到浏览器时删除换行符。
9w11ddsr5#
如果您使用flake8:
hlswsv356#
将'# noqa'添加到整个文档字符串可以工作,但这意味着您将失去对整个文档字符串的内省,因此您可能会错过其他问题。
如果你想把noqa缩小到只包含一个长的行,你可以只把它添加到长的行中,但是当用sphinx构建时,'# noqa'会出现在文档中。
在这种情况下,您可以构建一个自定义autodoc处理方法。参见this answer。
这是我的改编版本
6jjcrrmo7#
你使用像谷歌这样的网址缩短器,所以从这个:
http://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds
您将获得:
http://goo.gl/93ZLQ
zpqajqem8#
我的选择是: