我正在使用sublime来自动自动换行python代码行,超过了79个字符,就像Pep-8定义的那样。最初我回到了不超出限制。
唯一的缺点是,没有其他没有自动换行的人不会有限制。那么我应该努力实现自动换行还是视觉自动换行呢?
答案 0 :(得分:1)
PEP8希望您执行实际的自动换行。 PEP8的风格规则的要点是文件在每个编辑器中看起来都一样,所以你不能依赖编辑器可视化来满足PEP8。
这也让你选择故意破坏的地方。例如,Sublime将在包装该行时做一个非常基本的工作;但你可以用更易读的方式来做,例如:
x = os.path.split(os.path.split(os.path.split(
os.path.split(os.path.split(path)[0])[0]
)[0])[0])
当然,这不一定很漂亮(我主要是基于这个示例代码而责备),但它清楚地说明了什么属于什么。
话虽这么说,一个好的策略是简单地避免必须换行。例如,您一遍又一遍地使用os.path.split
;所以你可以改变你的导入:
from os.path import split
x = split(split(split(split(split(path)[0])[0])[0])[0])
当然,如果你发现自己一遍又一遍地做某事,也许有更好的方法来做到这一点,例如使用Python 3.4 pathlib
:
import pathlib
p = pathlib.Path(path).parents[2]
print(p.parent.absolute(), p.name)
答案 1 :(得分:0)
文件内自动换行可让您的代码最符合Pep-8,即使其他程序员正在使用不同的编码环境查看您的代码。在我看来,这是保持标准的最佳解决方案,特别是如果您希望其他人在某个时候看到您的代码。
如果您正在与项目中的一组人员或甚至公司合作,则可以与其他程序员协调以找到您最满意的解决方案。
对于你真的不希望其他任何人看过的个人项目,我确定使用视觉文字包装很好,但是自己强制执行肯定有助于构建一个好习惯。