V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
zictos
V2EX  ›  Python

大家写代码时“符号的前后”加空格的吗?比如是 a = 0 还是 a=0?

  •  
  •   zictos · Apr 21, 2020 · 14081 views
    This topic created in 2198 days ago, the information mentioned may be changed or developed.

    感觉不加空格写代码的速度更快,如果是为阅读性考虑,可以在代码写好后通过 ide 格式化代码

    108 replies    2020-04-22 20:52:50 +08:00
    1  2  
    zooo
        1
    zooo  
       Apr 21, 2020
    a = 0 这种,看着舒服些
    srx1982
        2
    srx1982  
       Apr 21, 2020
    zooo
        3
    zooo  
       Apr 21, 2020
    可以,习惯的问题
    kkkkkrua
        4
    kkkkkrua  
       Apr 21, 2020 via iPhone
    靠格式化,自己不特意写,但是写完会特意格式化
    fuwenpei
        5
    fuwenpei  
       Apr 21, 2020
    产品狗路过,会轻量 coding,我的习惯是必须加空格🤙🏻
    misaka19000
        6
    misaka19000  
       Apr 21, 2020
    必须加,不加看起来很不好看
    misaka19000
        7
    misaka19000  
       Apr 21, 2020
    而且写代码更多时间应该是花在了思考上吧,而不是打字的时间
    24bit
        8
    24bit  
       Apr 21, 2020
    顺手就加了
    k9982874
        9
    k9982874  
       Apr 21, 2020   ❤️ 2
    去把别人写的代码中的空格换行都去掉,然后再去读读代码。
    Cmdhelp
        10
    Cmdhelp  
       Apr 21, 2020
    格式化,不然有波浪线看起来很难受,写着写着就养成喜欢 主动加空格了,,,,,然后写 java 的时候。。。哎怎么形容这么操作呢
    苦笑交叉吧
    blip
        11
    blip  
       Apr 21, 2020
    虽然 IDE 会格式化但是自己还是习惯手动加上
    wellsc
        12
    wellsc  
       Apr 21, 2020
    函数参数赋值的时候不加
    coderluan
        13
    coderluan  
       Apr 21, 2020
    自己写的肯定加,但是复制粘贴的代码可能没有,不过最终格式化一遍,就都有了。
    xiri
        14
    xiri  
       Apr 21, 2020 via Android   ❤️ 1
    没有格式化的嘛。
    我都是设置保存的时候自动格式化,然后写的时候随意发挥,有事没事按按 ctrl+s 就行了
    ClarkAbe
        15
    ClarkAbe  
       Apr 21, 2020 via iPhone
    加啊,不加把空格留着当饭吃啊
    Azul
        16
    Azul  
       Apr 21, 2020   ❤️ 4
    HarveyZh
        17
    HarveyZh  
       Apr 21, 2020 via Android
    强迫症 加空格
    ClericPy
        18
    ClericPy  
       Apr 21, 2020
    别的语言我也就不说什么了, Python 的话, 90%时间用在程序设计上了, coding 的时候遵循 PEP8 并不会多花多少时间
    Joyboo
        19
    Joyboo  
       Apr 21, 2020
    各种语言都有相关规范,按规范来就没错了
    CodingNaux
        20
    CodingNaux  
       Apr 21, 2020
    为啥会考虑这种问题,有代码格式化..
    LokiSharp
        21
    LokiSharp  
       Apr 21, 2020
    IDE 格式化成啥样就是啥样
    kaiki
        22
    kaiki  
       Apr 21, 2020
    必须加,连 tab 都要工整
    tozp
        23
    tozp  
       Apr 21, 2020
    参数赋值的时候不加,其他时候都加
    orangex
        24
    orangex  
       Apr 21, 2020
    昨天面试,在线 coding,被指出不加空格的问题。
    chiu
        25
    chiu  
       Apr 21, 2020 via Android   ❤️ 2
    bash 加不了😂
    pcbl
        26
    pcbl  
       Apr 21, 2020 via Android
    我想问下你们参数里面也加吗?
    自动补全的参数是没加的,我都是自己再加上。。
    Orenoid
        27
    Orenoid  
       Apr 21, 2020
    不刻意处理,直接自动格式化,不过写久了基本都下意识按规范去写了
    avalon0624
        28
    avalon0624  
       Apr 21, 2020
    加,按照规范来。
    lostpg
        29
    lostpg  
       Apr 21, 2020 via Android
    自己写代码会有意向标准格式靠拢,写完保存也会顺手格式化一下。甚至会自己去研究下 formater 的参数。
    因为看过自己以前刚入门写的,没有格式化的代码,可读性太差了。
    lanhaooclub
        30
    lanhaooclub  
       Apr 21, 2020 via Android
    写完格式化+1
    mgrddsj
        31
    mgrddsj  
       Apr 21, 2020
    加。但是 Java 里面 for 括号里面加的话,好像可读性会变差?
    polo3584
        32
    polo3584  
       Apr 21, 2020
    加,不加的话看着不舒服
    gamexg
        33
    gamexg  
       Apr 21, 2020
    自己不加,但是自动格式化系统会添加。
    lingo
        34
    lingo  
       Apr 21, 2020
    if (a = b) {
    let a = c
    }
    括号内测不加,等号前后加,然后也是靠格式化
    kneep
        35
    kneep  
       Apr 21, 2020 via iPhone
    有些语言是不能加的,能加的我都加,应该说加是主流
    jie170601
        36
    jie170601  
       Apr 21, 2020 via Android
    java,以前用 eclipse 写 mapper 吧应该,出现过双击取词不准确,严重影响了复制粘贴的效率,后面就养成习惯了,不加不舒服……
    Tubering
        37
    Tubering  
       Apr 21, 2020
    加,不然看起来乱糟糟的
    bigdogbigpig
        38
    bigdogbigpig  
    PRO
       Apr 21, 2020 via iPhone
    写代码的效率和代码格式无关
    mingyuers
        39
    mingyuers  
       Apr 21, 2020
    shell 不能加,哭
    rrfeng
        40
    rrfeng  
       Apr 21, 2020
    写 go
    cweijan
        41
    cweijan  
       Apr 21, 2020
    不加, 写完格式化, 自动加上.
    sutra
        42
    sutra  
       Apr 21, 2020   ❤️ 1
    大部分语言的编码规范都是加的。只不过有些语言从语法上不能有空格,比如 #!/bin/sh 赋值语句。
    然后你也能搜到为什么 shell 不让你放空格: https://blog.csdn.net/u012814856/article/details/89176382
    itskingname
        43
    itskingname  
       Apr 21, 2020
    按 PEP-8 规范写代码。没什么好说的。
    lambchasr
        44
    lambchasr  
       Apr 21, 2020 via iPhone
    英文标点前后必加空格
    g00001
        45
    g00001  
       Apr 21, 2020
    如果表达式很短,多少一个空格并不影响到阅读代码,曾经见过某些特别在意这些问题,例如 JS 尾部加不加分号,等号前面是不是有空格, 然后代码写得代码烂特别不讲究,后来明白了,因为每天混日子,特别闲,所以有时间数空格,而且还见过他们装格式化插件,因为格式化风格吵来吵去争好久,一句话就是特别闲,不用写好代码,所以有时间数分号和空格。
    a1562619919
        46
    a1562619919  
       Apr 21, 2020 via Android
    你不已经有答案了,IDE 格式化代码
    lostpg
        47
    lostpg  
       Apr 21, 2020 via Android
    @g00001 错误归因
    luren123
        48
    luren123  
       Apr 21, 2020
    java 等语言都是这个规范,肯定加啊,好的习惯不需要借助代码格式化,乱七八糟的代码看着都不爽
    copyX
        49
    copyX  
       Apr 21, 2020
    gofmt
    Rico
        50
    Rico  
       Apr 21, 2020
    公司 java 代码提交时会进行 style 检查,不符合不让提交。
    Spring618
        51
    Spring618  
       Apr 21, 2020   ❤️ 5
    v2ex 真是越来越水了
    2kCS5c0b0ITXE5k2
        52
    2kCS5c0b0ITXE5k2  
       Apr 21, 2020 via iPhone
    不加回头来看乱死了就好想我写这段话并没有加任何标点符号不能让人一下子理解这个意思多打个空格不会花你很多时间
    manshisan
        53
    manshisan  
       Apr 21, 2020
    会自动格式化,然后就习惯了
    sigl0p
        54
    sigl0p  
       Apr 21, 2020
    我听 IDE 的,自动格式化成啥样就啥样。
    lysS
        55
    lysS  
       Apr 21, 2020
    a = 0
    a==0
    SY413927
        56
    SY413927  
       Apr 21, 2020
    不加难受 a= 0 这样的我能难受死
    supuwoerc
        57
    supuwoerc  
       Apr 21, 2020
    自己写不加,写完一句格式化一下,让编辑器加 =。=
    lzuntalented
        58
    lzuntalented  
       Apr 21, 2020
    应该要引入下 eslint 做代码检查,vscode 上也可以自动修复格式问题
    grewer
        59
    grewer  
       Apr 21, 2020
    不加真的难受
    Ansen
        60
    Ansen  
       Apr 21, 2020
    shell 加空格全报错
    itwhat
        61
    itwhat  
       Apr 21, 2020
    如果是在函数里参数默认值则不加空格
    如果是单独行则加
    llcfays
        62
    llcfays  
       Apr 21, 2020
    这个不是格式化就好了嘛。
    dtw5t
        63
    dtw5t  
       Apr 21, 2020
    加空格,阅读体验好很多。字符串使用双引号。
    akiakiseofficial
        64
    akiakiseofficial  
       Apr 21, 2020 via iPhone
    Java,除了 import,手写的代码基本跟格式化后无异
    keer
        65
    keer  
       Apr 21, 2020
    a=0 这种 看着很不专业 说实话
    akiakiseofficial
        66
    akiakiseofficial  
       Apr 21, 2020 via iPhone
    @xlui Python 就按 PEP 8 来呗
    banliyaya
        67
    banliyaya  
       Apr 21, 2020 via iPhone
    我习惯条件判断定义赋值之类的都加
    0x11901
        68
    0x11901  
       Apr 21, 2020
    设计运算、赋值的符号左右加空格,其他的符号不加空格。刚学的时候也是不加空格的,后来看了《 C 程序设计语言》里面作者建议这么写之后,感觉非常有道理,就一直这么做了,而且基本上所有的格式化工具也是按照这种模式的。
    MajestySolor
        69
    MajestySolor  
       Apr 21, 2020
    加空格看起来舒服读起来也舒服,超级讨厌写啥都是一大坨不加空格的人
    lk920724
        70
    lk920724  
       Apr 21, 2020
    加的,原来我是大多数 [
    Higurashi
        71
    Higurashi  
       Apr 21, 2020
    我一般是加空格,才开始写代码的时候嫌麻烦,但后来觉得代码简洁更重要。。。
    kukat
        72
    kukat  
       Apr 21, 2020
    这还用问? https://prettier.io/ 了解一下,pre-commit hook 过不了 prettier 不让提交
    Higurashi
        73
    Higurashi  
       Apr 21, 2020
    对了,我已经实现了目录编号,但暂时还不能在原帖回复你,所以就写在这里了:
    中午的时候转变了思路,现在已经实现。有兴趣的话可以看看,有问题的话也可以提 issue( ̄▽ ̄)/:
    源代码:htt 删除这里 ps://gi 删除这里 thub.com/liuhao326/python 删除这里 tools/blo 删除这里 b/master/AddTitleNumber.py
    使用实例:ht 删除这里 tps://www.cn 删除这里 blogs.com/Hi 删除这里 gurashi-kag 删除这里 ome/p/12 删除这里 747857.html#使用实例
    siganushka
        74
    siganushka  
       Apr 21, 2020
    有规范就按规范来,不管是 java 还是 PHP 或者是 JS 都是前后有空格的,规范是无数前人总结出来的最佳实践,照着做就行了,你习不习惯并不重要。
    FurN1
        75
    FurN1  
       Apr 21, 2020
    bash 你能加吗
    zictos
        76
    zictos  
    OP
       Apr 22, 2020
    @Higurashi 试了感觉好像问题很多,很容易出错。不过这东西我也用不到。随便复制一段文本到文件中,然后随便在某些行的前面加一些#号,运行后肯定会报错。
    完全可以做到不报错啊,但是你得说清楚几个#号算大标题,然后子项又怎么确定?就是我之前跟你说的那些。
    zictos
        77
    zictos  
    OP
       Apr 22, 2020
    @Higurashi 刚又试了一下,好像也不是很容易出错。只是复制你上次的帖子中的例子会报错,其他内容很少报错:
    TypeError: write() argument must be str, not None

    另外如果第一行有 6 个#号,第二行只有 3 个#号。第一行是 1,第二行是 1.1 吗?
    20015jjw
        78
    20015jjw  
       Apr 22, 2020 via Android
    lint 呗
    虽然我写的时候也手动加
    gcyrn
        79
    gcyrn  
       Apr 22, 2020 via Android
    lrh3321
        80
    lrh3321  
       Apr 22, 2020 via Android
    让 ide 自动格式化,当某个该出现空格的地方,没有空格的时候,我就知道,又手贱写出语法错误了。
    darknoll
        81
    darknoll  
       Apr 22, 2020 via Android
    自己加,不会靠格式化
    Higurashi
        82
    Higurashi  
       Apr 22, 2020 via Android
    @zhybzc 嗯,是的,这是因为程序会默认第一个标题为最高级标题。之所以这样设置是因为最高一级标题在后面的情况的情况比较不合逻辑,包括我之前给出的例子也是不合逻辑的。比如:
    # 标题 1

    ### 标题 2

    ### 标题 3

    #### 标题 4

    #### 标题 5

    ## 标题 6

    ##### 标题 7

    ###### 标题 8
    中一般来说我们会将标题 6 视为标题 1 的子标题,而程序正是这样做的。
    不过的确还有一个地方需要完善,那就是你提到的后面出现了比第一个标题级别更高的标题的情况,虽然这种情况不常见但应该也能够正常编号。所以这里还是要完善下。
    conglovely
        83
    conglovely  
       Apr 22, 2020
    习惯性 IDE 格式化,会加
    Higurashi
        84
    Higurashi  
       Apr 22, 2020 via Android
    @Higurashi 再就是在之前的例子中:
    # 标题 1

    ### 标题 2

    ### 标题 3

    #### 标题 4

    #### 标题 5

    ## 标题 6

    ##### 标题 7

    ###### 标题 8
    因为程序没有事先发现标题 6 的能力,它会默认标题 2 为除标题 1 外的最高级标题,所以程序从标题 6 开始会出错。这里也需要完善一下。
    azhangbing
        85
    azhangbing  
       Apr 22, 2020 via iPhone
    加的 凑在一起不好看
    angith
        86
    angith  
       Apr 22, 2020 via Android
    加,已经有强迫症了
    xiang0818
        87
    xiang0818  
       Apr 22, 2020 via iPhone
    加空格啊,不加代码 checkstyle 过不了,Jkens 不能打包
    ytll21
        88
    ytll21  
       Apr 22, 2020
    说写完再格式化的,你们写代码主要是给自己看的还是给别人看的?写完再格式化,那么自己在写的过程中,看见一坨坨的代码挤在一起,不难过吗?对于自己吃饭的手艺,要求再怎么高,我认为都是应该的。
    oahebky
        89
    oahebky  
       Apr 22, 2020
    在 Python 主题下问这种问题。
    肯定是没有代码(格式)检查工具。

    赋值加空格:foo = "bar"; egg = "spam"
    函数传参数不加空格:func(key1=value1, key2=value2)
    条件判断加空格:if 1 > 2: print("can't happen")

    还是按标准来吧,就不用费心纠结这种和核心无关的细节了。
    Ariver
        90
    Ariver  
       Apr 22, 2020
    bash 脚本不允许加
    si
        91
    si  
       Apr 22, 2020
    能自动格式化的手动加,不自动格式化的手动加。
    si
        92
    si  
       Apr 22, 2020
    写错了,是:
    能自动格式化的不手动加,不自动格式化的手动加。
    yulihao
        93
    yulihao  
       Apr 22, 2020
    我很懒,一直都是 a=0,但是 IDE 会自动帮我纠正为 a = 0 (笑
    llsquaer
        94
    llsquaer  
       Apr 22, 2020
    加不加无所谓,,但是最后会 Ctrl+Atl+L ...
    peterpei
        95
    peterpei  
       Apr 22, 2020
    加,会看着方便,尤其是那种函数有))))))的,加上空格会好太多
    xiaomimei
        96
    xiaomimei  
       Apr 22, 2020
    习惯了,不仅代码里会加,写文档的时候也会在中英数字之间加空格。
    ShundL
        97
    ShundL  
       Apr 22, 2020
    某 CDN 的人给我们介绍他们的产品和技术,一口一个阀值。。。
    adinxu
        98
    adinxu  
       Apr 22, 2020
    公司规范要求加,,
    amwyyyy
        99
    amwyyyy  
       Apr 22, 2020
    有强迫症,这个必须加
    itechify
        100
    itechify  
    PRO
       Apr 22, 2020 via Android
    加空格,不是自己敲,用快捷键格式化一下
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5700 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 299ms · UTC 07:46 · PVG 15:46 · LAX 00:46 · JFK 03:46
    ♥ Do have faith in what you're doing.