视觉单词换行或文件自动换行

时间:2016-05-21 01:07:17

标签: python sublimetext2 pep8

我正在使用sublime来自动自动换行python代码行,超过了79个字符,就像Pep-8定义的那样。最初我回到了不超出限制。

唯一的缺点是,没有其他没有自动换行的人不会有限制。那么我应该努力实现自动换行还是视觉自动换行呢?

enter image description here

2 个答案:

答案 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,即使其他程序员正在使用不同的编码环境查看您的代码。在我看来,这是保持标准的最佳解决方案,特别是如果您希望其他人在某个时候看到您的代码。

如果您正在与项目中的一组人员或甚至公司合作,则可以与其他程序员协调以找到您最满意的解决方案。

对于你真的不希望其他任何人看过的个人项目,我确定使用视觉文字包装很好,但是自己强制执行肯定有助于构建一个好习惯。