Trailing Whitespace带来的问题

2020年5月21日 / 78次阅读 / Last Modified 2020年5月21日

很多编程规范中要求不要由Trailing Whitespace,即每一行的末尾不要由多余无用的空格,Python的PEP8也有这样的说明。但是,why?

python PEP8中也给出了原因说明,我觉得这也是最重要的原因,如果使用backslash作为连接多行的符号,backslash后面如果还有空格,会造成语法错误。

>>> if x == 1: \
  File "<stdin>", line 1
    if x == 1: \
                ^
SyntaxError: unexpected character after line continuation character
>>> print('asdfs\
  File "<stdin>", line 1
    print('asdfs\
                 ^
SyntaxError: EOL while scanning string literal

如果编辑器没有配置显示trailing whitespace,以上的bug有可能不太容易排查。

其它的原因有:

  • trailing whitespace会带来commit noise;
  • 在diff的时候,看着也烦人;
  • 有人说不喜欢跳到行尾开始编辑之前,要删除几个空格,认为很烦人;

Trailing Whitespace带来的问题,主要就是这些吧。

-- EOF --

本文链接:https://www.pynote.net/archives/1957

相关文章

    留言区

    《Trailing Whitespace带来的问题》有1条留言

    电子邮件地址不会被公开。 必填项已用*标注

    • 麦新杰

      PEP8中没有说的一个细节是,inline comments后面的trailing whitespace,应该也是要避免的吧。不过,PEP8对inline comments使用的是sparingly,不要用得那么多。。。 [回复]


    前一篇:
    后一篇:

    More


    ©Copyright 麦新杰 Since 2019 Python笔记

    go to top