V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
bridge45
V2EX  ›  问与答

PHP 用长命名还是短命名好?

  •  
  •   bridge45 · 2015-12-14 10:16:01 +08:00 · 3037 次点击
    这是一个创建于 3297 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [代码都是缩写版命名]
    公司 PHP 的代码有十多年的历史了,平常做的维护工作居多.所以大多数情况下使用 VIM 来工作.因为改动小,调试等都很方便.所见代码命名基本上都是缩写精简版的.
    [习惯于长命名]
    然大学期间习惯用 IDE,命名习惯是类似 java 的"长命名"方式.然后最近新起项目,许多类方法就是这种"长命名",这个在 IDE 自动提示的帮助下,基本上没有什么障碍.
    [大家不喜欢长命名]
    但是当组内其他成员一起工作,用 vim 操作的时候,这个长命名就很不讨人喜欢了,因为大家基本上没有装 vim 的代码提示,而且代码提示几乎都是"吃内存"大户.
    [新项目长短命名纠结]
    但是开发新项目,对于 VIM 只会常见的一些操作者来说,个人感觉 IDE 效率会高很多,就像 java 工作者一样,IDE 的提示会让其效率倍增.而我们的 PHP 代码直接在开发机上面,大家都是一个终端连接上去 VIM 操作.这个时候长命名不如缩写短命名方便

    大家对于这个问题怎么看?

    27 条回复    2015-12-15 11:30:54 +08:00
    DT27
        1
    DT27  
       2015-12-14 10:32:05 +08:00
    这个没有好坏吧,只是不同人的不同喜欢问题。既然其他人都是一样短的,为什么你要搞特殊呢。。
    kslr
        2
    kslr  
       2015-12-14 10:32:52 +08:00
    长命名感觉更方便,至于内存是在开玩笑吧
    还是有人在抵制你?
    tabris17
        3
    tabris17  
       2015-12-14 10:38:06 +08:00
    没代码自动完成还要 IDE 干嘛

    另外直接在开发机上编辑代码的方式也太令人销魂了
    movtoy
        4
    movtoy  
       2015-12-14 10:39:00 +08:00
    长好,一看到代码就猜到大概是干吗的。

    代码是用来看的。
    codingpp
        5
    codingpp  
       2015-12-14 10:44:49 +08:00
    vim 用户觉得没有自动补全不方便,是他们的事,这点问题都解决不了还写什么程序
    barbery
        6
    barbery  
       2015-12-14 10:54:59 +08:00
    可读性第一
    viator42
        7
    viator42  
       2015-12-14 11:01:20 +08:00
    模块分级清楚的时候用短命名,其他情况用长命名.比如 produc.list.all 或者 productListAll
    mahone3297
        8
    mahone3297  
       2015-12-14 11:05:46 +08:00
    短。。。以前长,应该是为了 autoload 吧。。。
    jmc891205
        9
    jmc891205  
       2015-12-14 11:16:13 +08:00
    vi 不是也有 ctrl+p 的自动补全功能吗?

    不过太长的命名也不好。如果代码里到处都是长度大于半行的变量名,那我觉得我也会抓狂的。
    ooh
        10
    ooh  
       2015-12-14 11:31:31 +08:00
    phpmd
    500miles
        11
    500miles  
       2015-12-14 13:34:26 +08:00
    我喜欢长命名, 但是顶多三个单词, 再长就索性 缩写加注释

    后来.... 接触 go 以后 整个人都不好了
    rainex
        12
    rainex  
       2015-12-14 16:15:34 +08:00
    长点,但要适可而止。

    说实话,就 php 内置的那些函数名那个原始, db_query 和 DBQuery 新旧风格混起来写是真难看,就优雅程度而言,真不知道 php 是最好的预言这段子怎么出来的,内置函数名和类名没 C#参考下 Java 来设计也行啊,缺乏基本的审美
    rainex
        13
    rainex  
       2015-12-14 16:16:35 +08:00
    修改上一条:预言 应为 预言
    rainex
        14
    rainex  
       2015-12-14 16:16:58 +08:00
    …… 预言 应为 语言
    xujif
        15
    xujif  
       2015-12-14 16:46:31 +08:00
    @rainex php 是标准库一般都是 snake 命名规范,与 camel 只是形式区别,不存在好坏, c 语言就是这个。另外, php 应该比 java 和 c#都要早。
    bridge45
        16
    bridge45  
    OP
       2015-12-14 17:26:01 +08:00
    @kslr 他们的 VIM 都没有代码提示,长命名 打字很麻烦
    bridge45
        17
    bridge45  
    OP
       2015-12-14 17:26:26 +08:00
    @movtoy 我也是这样觉得的.方便以后查看
    bridge45
        18
    bridge45  
    OP
       2015-12-14 17:27:17 +08:00
    @viator42 这个建议好 谢谢
    bridge45
        19
    bridge45  
    OP
       2015-12-14 17:31:46 +08:00
    @jmc891205 这个补全基本上都是本文件 除非做 ctags 但是现在大都并没有这样做
    Felldeadbird
        20
    Felldeadbird  
       2015-12-14 19:37:34 +08:00 via iPhone
    长命名和有没有代码提示没有冲突,我觉得是人太懒。代码经常接触,自然会记得命名的。
    MaiCong
        21
    MaiCong  
       2015-12-14 19:45:52 +08:00 via iPhone
    唉 你是没遇到用拼音的
    Ouyangan
        22
    Ouyangan  
       2015-12-14 19:54:10 +08:00
    @MaiCong 其实我很喜欢看到用拼音的,碰到一些专有的业务名称用英文头痛死了 , 哈哈
    msg7086
        23
    msg7086  
       2015-12-14 23:58:30 +08:00
    @bridge45 我 VIM 装完就有自动补全啊。贵司的机器都是什么鬼。

    短命名就是开发的时候很爽,然后过了半年一年花 10 倍的精力去重构的结局。
    msg7086
        24
    msg7086  
       2015-12-15 00:00:37 +08:00
    @rainex PHP 95 年开发的, C#是 2000 年公开的, JAVA 也是 95 年发布的。
    你参考个未来的语言设计个给我看看。
    skydiver
        25
    skydiver  
       2015-12-15 02:55:33 +08:00 via Android
    Ctrl n Ctrl p
    怎么就没有提示了。。不会用然后怪 vim
    hqs123
        26
    hqs123  
       2015-12-15 07:08:17 +08:00
    规范易懂就行,无所谓长短。
    oamzn
        27
    oamzn  
       2015-12-15 11:30:54 +08:00
    看的懂就好,避免强迫症选手。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2881 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:31 · PVG 22:31 · LAX 06:31 · JFK 09:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.