V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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
changwei
V2EX  ›  Python

为什么 PEP8 规定函数得全部小写?

  •  
  •   changwei ·
    cw1997 · 2017-06-13 14:08:26 +08:00 · 4457 次点击
    这是一个创建于 2715 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如说getUsernameByUid这种函数,写成驼峰看起来就很舒服,和别的编程语言风格也统一,如果写成get_username_by_uid这样多累啊,得多按好几下 shift。

    而且我看 threading 模块也没遵循 PEP8 规范,比如说他的setDeamon方法就是驼峰命名法,这样看的也舒服啊。

    反正我自己写项目都是写驼峰命名,因为之前写 PHP 和 JavaScript 都是这样写的,只是看到 IDE 报一堆黄色线有点烦。。。

    28 条回复    2017-06-13 18:05:36 +08:00
    hahaDashen
        1
    hahaDashen  
       2017-06-13 14:11:56 +08:00
    我一般都 Get_Username_By_UID 这样写怎么破 XD
    hjzx050935
        2
    hjzx050935  
       2017-06-13 14:12:30 +08:00
    get_username_by_uid 这个如果写成 getUsernameByUid 也要用 shift + U/B 好多下= =,少打字符而已,我比较不习惯用大小写切换
    thekoc
        3
    thekoc  
       2017-06-13 14:13:48 +08:00   ❤️ 3
    一直觉得驼峰看起来很不舒服。。。
    nyanyh
        4
    nyanyh  
       2017-06-13 14:14:22 +08:00
    Go 还规定使用 Tab 缩进呢……
    seancheer
        5
    seancheer  
       2017-06-13 14:16:32 +08:00
    从 c 继承过来的。
    akira
        6
    akira  
       2017-06-13 14:28:29 +08:00
    输入大写字母 一样要按 shift 啦,这样想是不是就平衡了
    AnyISalIn
        7
    AnyISalIn  
       2017-06-13 14:39:22 +08:00
    @thekoc +1
    jingniao
        8
    jingniao  
       2017-06-13 14:50:15 +08:00
    只有在用类的时候才驼峰,函数用驼峰感觉怪怪的
    geelaw
        9
    geelaw  
       2017-06-13 14:56:29 +08:00 via iPhone
    @hjzx050935 有可能 po 主用的 Caps Lock 改变大小写哦……

    这只是一个风格罢了,C++ STL 也喜欢这种
    fyl00
        10
    fyl00  
       2017-06-13 14:57:51 +08:00
    这东西看喜好,看团队习惯……
    F10Y
        11
    F10Y  
       2017-06-13 15:00:13 +08:00   ❤️ 1
    所以我用 karabiner 对调了_ 和 -
    my101du
        12
    my101du  
       2017-06-13 15:01:57 +08:00   ❤️ 1
    作为一个在 Laravel 和 Wordpress 之间经常切换的人也表示凌乱。。。其实个人觉得下划线真的比驼峰式在 识别 /反应 这个过程时间更快。
    fy
        13
    fy  
       2017-06-13 15:12:07 +08:00
    PEP8 我记得是说用统一规则就行,小写下划线或者驼峰。

    IDE 给警告可能是开发者的个人倾向吧。

    我是根据语言换风格,怎么看着顺眼怎么来
    bazingaterry
        14
    bazingaterry  
       2017-06-13 15:12:29 +08:00 via iPhone
    在写 Python PHP JS 的表示已经切换自如了...
    timsims
        15
    timsims  
       2017-06-13 15:15:42 +08:00
    找个工具保存时自动格式化就好,对应每种语音一种规则
    Kilerd
        16
    Kilerd  
       2017-06-13 15:39:41 +08:00   ❤️ 1
    PEP8 的做法是这样的 类就用驼峰命名, 函数就用 _ 。

    这样的好处就是,一眼看下来就知道哪个是类,哪个是函数。

    OneTwoThree one_two_three

    不过这种东西就好像缩进用几个空格一样,应人而异的。自己习惯就好,不过呢,如果是团队合作的话,PEP8 可以说是最方便,最稳妥的方法了。

    为了避免拿出游标卡尺,我一般 Python 就是第一层缩进用 4 个空格,第二层用 5 个 , 第三层用 6 个,类推。
    以免自己写出嵌套层数太多的函数 (滑稽
    junnplus
        17
    junnplus  
       2017-06-13 15:50:01 +08:00
    那是你之前是写 PHP 和 JavaScript 的,(笑
    这种风格上的写法习惯就好,就像我看驼峰很不舒服
    dd99iii
        18
    dd99iii  
       2017-06-13 16:23:57 +08:00 via iPhone
    看团队吧
    rocksolid
        19
    rocksolid  
       2017-06-13 16:41:55 +08:00
    一个语言一套风格,只是用同一种工具的约定,这样你看别人代码舒服,别人看你的也舒服,当然没这需求自己怎么爽怎么写
    clino
        20
    clino  
       2017-06-13 16:46:21 +08:00
    驼峰读起来比较累因为挤在一起
    lucifer9
        21
    lucifer9  
       2017-06-13 16:57:26 +08:00
    起码可以随便写不算错误啊
    想想看 Go 怎么规定大小写的
    maemual
        22
    maemual  
       2017-06-13 17:11:02 +08:00
    统一风格而已。总要选一种风格的,只不过人家选的是下划线
    flyingghost
        23
    flyingghost  
       2017-06-13 17:26:32 +08:00
    所以我就把 IDE 的 PEP8 naming convention voilation 检查关掉了。
    这个在本机,只针对个人,只是工作习惯问题。
    你要是怼 PEP8,那就上升到宗教问题了!
    di94sh
        24
    di94sh  
       2017-06-13 17:43:19 +08:00 via Android
    python 就是一种规定了那种方法是最好的语言。
    AirSc
        25
    AirSc  
       2017-06-13 17:56:29 +08:00
    其实更喜欢用 _ 的
    chengluyu
        26
    chengluyu  
       2017-06-13 18:00:33 +08:00 via iPhone
    个人觉得,其实无论是 Python 里的 PEP8,C++ 的 Google 规范,还是 JS 里 eslint 的各种 style,都是“推荐、可作参考”的做法。

    但是真正到了实践里,只要做到统一并且易理解就好了。你总不能强求公司里所有项目都改成这种做法吧?
    chengluyu
        27
    chengluyu  
       2017-06-13 18:01:15 +08:00 via iPhone
    提示一下楼主,那个黄色横线其实可以关闭的。
    Ouyangan
        28
    Ouyangan  
       2017-06-13 18:05:36 +08:00
    如果是 jetbrains 家的 IDE 错误提示可以设置成自己喜欢的,
    Editor -> Colors & Fonts -> general -> Error ->选择自己喜欢的风格
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5550 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:32 · PVG 15:32 · LAX 23:32 · JFK 02:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.