问题标签 [pep8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
2826 浏览

python - 如何在 Python 中处理长行代码和命令

我试过搜索,但我找不到任何与我类似的情况。我正在编写一个程序,到目前为止,我一直坚持不超过 79 个字符的行规则。但是,在某些情况下,我不确定在哪里换行。

以下是问题区域:

对于这种情况,当我在 '(SayText "%s")\n' 之后中断第一行时,第二行的长度为 80 个字符。然后我应该像这样在括号中的某处打破第二行吗?

或者最好将整个第三行放在第一个括号的开头,如下所示:

另一个例子在这里:

我应该这样做吗?

或这个?

什么是一个好的约定?

谢谢。

0 投票
1 回答
4071 浏览

python - 如何修复 Vim 在 Python 中对长行的换行行为?

所以这是我的问题。假设我有一个 Python 文件,我正在输入很长的一行,就像这里的最后一行:

当我在 Vim 中键入时,会发生这种情况:

这不仅仅是糟糕的风格,它破坏了 PEP8。我想要发生的是:

这与PEP8 一致。(出于本次讨论的目的,我只对换行行为感兴趣,而不是缩进行为。)

编辑: breakat仅与linebreak控制线条的显示方式结合使用。它(显然)不能与textwidth确定硬换行符的插入位置一起工作。所以我下面的想法行不通......

令人惊讶的是,我没有发现任何其他人分享这个问题,这让我认为我做错了什么。尽管如此,我的想法是将(角色添加到breakat设置中(以及[{我在它时)。

我试过这个;这是输出:set breakat

然而,这无济于事。无论我做什么,Vim 都坚持在上面的“=”之后打破。我对长函数名也有同样的问题,它会在def.

以下是我的 .vimrc 的完整内容:

(我没有安装插件等来试图解决这个问题。)

有谁知道如何让 Vim 遵守我的 breakat 设置,或者对处理这种行为的最佳方法有任何其他想法?

0 投票
1 回答
9605 浏览

python - 内部函数(python)的文档字符串是否必要?

在 python 中,我们在开头使用下划线指定内部函数/私有方法。这些函数是否应该用文档字符串记录(是否需要?)?(我的意思是正式文档,而不是帮助代码阅读者理解代码的文档)什么是常见的做法?

0 投票
4 回答
44103 浏览

python - 在 Python 中链接方法时换行符的正确样式

我有一些这样的代码。休息应该发生在经期之前还是之后?

0 投票
2 回答
739 浏览

python - 使用 pep8 约定整理 Python 代码的库

是否有任何库将您的 python 文件作为输入并进行整理(根据PEP 8约定对其进行修改)。为了理解我在说什么,一个JavaScript类比如下:

  1. 转到此链接
  2. 按下按钮TidyUp

任何在线编辑器或库或脚本将不胜感激。

0 投票
2 回答
70769 浏览

python - Python中的链式方法调用缩进样式

通过阅读 PEP-8,我知道您应该将右括号与函数调用中的最后一个参数放在同一行:

可能,最好避免使用长表达式。但如果它不受欢迎,你将如何处理多个链式方法调用?结束括号是否应该在新行上?

无参数方法呢?如何在不引用中间返回值的情况下将它们写在多行上?


更新: How to break a line of chained methods in Python?有一个重复的问题?. 接受的答案暗示了一种熟悉的 jQuery 风格,即以点开头的每一行。作者没有提供任何理由或权威参考,所以我想对这种风格或替代方案进行确认。

0 投票
5 回答
4630 浏览

python - Python 变量命名约定

所以我试图切换到 PEP8 表示法(从一个相当个人的 CamelCase 表示法),我想知道你们如何处理现有函数/变量将被覆盖的情况?

例如有类似的东西:

已经覆盖了“open”和“sum”函数。首先,如果我不使用好的 IDE,我什至不会注意到我刚刚覆盖了重要的基本功能。其次,您将如何命名变量?在此示例中,我将使用应用程序匈牙利语,根本不会遇到任何潜在问题。

谢谢!

0 投票
2 回答
3320 浏览

python - 根据 PEP257 自动检查文档字符串样式的工具

pep8 之类的工具可以检查源代码样式,但它们不会检查文档字符串是否根据pep257pep287 来自atted。有这样的工具吗?

更新

我决定自己实现这样一个静态分析工具,见:

https://github.com/GreenSteam/pep257

现在,大部分pep257都被覆盖了。设计深受上述pep8工具的影响。

0 投票
4 回答
2195 浏览

python - 在 emacs Python 模式下,如何为文档字符串和代码设置不同的自动填充宽度?

我想将代码部分的自动填充设置为 79 列,将文档字符串设置为 72 列,以获得自动 PEP8 合规性。对于 Lisp 模式(emacs-lisp-docstring-fill-column),似乎有一个选项可以执行此操作,但对于 Python 则没有。

是否有增强的 python-mode.el 在某个地方包含这个?

0 投票
5 回答
18277 浏览

python - 演示所有 PEP-8 规则的完整代码示例

我希望我的代码符合PEP-8
但是,每次忘记任何规则时都阅读 PEP8 页面非常耗时。如果我有一个演示所有PEP-8 规则的代码示例,速度会更快。

是否有任何代码示例可以做到这一点?