PHP 用长命名还是短命名好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bridge45
V2EX    问与答

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

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

    [代码都是缩写版命名]
    公司 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     Solana     2974 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 13:06 PVG 21:06 LAX 06:06 JFK 09:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86