越来越觉得码代码时命名是件十分头疼的事,想发起一个项目建立一个命名字典 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
keyfunc
V2EX    程序员

越来越觉得码代码时命名是件十分头疼的事,想发起一个项目建立一个命名字典

  •  3
     
      keyfunc 2015-05-27 20:38:24 +08:00 11160 次点击
    这是一个创建于 3791 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大家有没有兴趣。

    把自己在各类项目中感觉取名取的挺带感的名字分享出来,并加上简单的使用场景和说明,

    最终整理成一个字典供别人查阅。
    第 1 条附言    2015-05-27 21:35:41 +08:00
    个人感觉目前最大的难题是,为这个项目取个名字
    第 2 条附言    2015-05-28 09:11:45 +08:00
    暂定名字叫namehub
    https://github.com/namehub
    第 3 条附言    2015-05-28 10:34:32 +08:00
    建立了空的项目,大家可以提交pullrequest来一起为该项目添砖加瓦,另外招募一些人员一同维护该项目。
    89 条回复    2015-07-16 17:49:17 +08:00
    KexyBiscuit
        1
    KexyBiscuit  
       2015-05-27 20:46:49 +08:00 via Android
    Star
    同命名困难,参考别人意见是不错的主意
    LeoQ
        2
    LeoQ  
       2015-05-27 20:53:47 +08:00
    有有有!!但是具体怎么用呢ctrl+f么
    istommao
        3
    istommao  
       2015-05-27 20:54:39 +08:00
    使用不同语言开发的人员命名风格也不统一,这是一个问题
    kingme
        4
    kingme  
       2015-05-27 20:58:22 +08:00
    写代码命名跟着数据库表名,字段走就行了。。。
    keyfunc
        5
    keyfunc  
    OP
       2015-05-27 20:59:46 +08:00
    @istommao 那么再增加使用语言一项?
    keyfunc
        6
    keyfunc  
    OP
       2015-05-27 20:59:56 +08:00
    @kingme 前提是要有数据库
    demonchang
        7
    demonchang  
       2015-05-27 21:00:21 +08:00
    我觉得这个极好的。。。不管怎么样可以作为参考啊
    spacewander
        8
    spacewander  
       2015-05-27 21:01:02 +08:00
    @kingme
    数据库字段也很难命名……很难准确去描述一件事,而且后期需求会有变化,蛋疼
    xifangczy
        10
    xifangczy  
       2015-05-27 21:06:37 +08:00
    那不是得好几个版本,小驼峰 大驼峰 下划线....C版 Python版 PHP版...
    jsq2627
        11
    jsq2627  
       2015-05-27 21:07:59 +08:00
    还有 HTML 里的 class,id,简直烦死 2333
    好在有 LESS,有点类似 namespace 的概念了。
    liuhaotian
        12
    liuhaotian  
       2015-05-27 21:10:06 +08:00
    一直都觉得是一个问题,之前有想法做一个类似的。不过动了一半就没做下去了...
    loading
        13
    loading  
       2015-05-27 21:12:41 +08:00 via Android
    拼音没拯救你。
    FrankFang128
        14
    FrankFang128  
       2015-05-27 21:17:31 +08:00 via Android
    那不就是辞典吗?
    mthli
        15
    mthli  
       2015-05-27 21:18:30 +08:00 via Android
    歪个楼,转推上一个人的一句话,大概是“我越来觉得this是一个充满哲学意味的关键字”。所以用好this其实也能缓解命名问题哇哈哈哈。
    zeuss
        16
    zeuss  
       2015-05-27 21:18:58 +08:00
    楼主问有没有兴趣! 有
    liuhaotian
        17
    liuhaotian  
       2015-05-27 21:22:56 +08:00
    说做就做,之前的那个半成品花点时间继续做下去
    msg7086
        18
    msg7086  
       2015-05-27 21:23:21 +08:00
    语言算什么问题?统统用日语就行了嘛(
    GG668v26Fd55CP5W
        19
    GG668v26Fd55CP5W  
       2015-05-27 21:30:07 +08:00 via iPhone
    深有同感,一起完善吧
    jsq2627
        20
    jsq2627  
       2015-05-27 21:30:48 +08:00
    各位都散了吧,找到前人最全的总结了。
    http://mindprod.com/jgloss/unmainnaming.html
    silvernoo
        21
    silvernoo  
       2015-05-27 21:34:39 +08:00
    有仓库给我fork吗?
    keyfunc
        22
    keyfunc  
    OP
       2015-05-27 21:34:53 +08:00
    个人感觉目前最大的难题是,对为这个项目娶个名字
    abelyao
        23
    abelyao  
       2015-05-27 21:40:01 +08:00
    多年起名困难症之后,我现在直接用最近看过的电影或者动漫或者其它影视音乐来命名了
    SeanChense
        24
    SeanChense  
       2015-05-27 21:41:04 +08:00
    取名字真的头痛
    keyfunc
        25
    keyfunc  
    OP
       2015-05-27 21:41:14 +08:00
    @liuhaotian 哪个项目?分享下吧~
    mwylaoma
        26
    mwylaoma  
       2015-05-27 21:42:02 +08:00
    这个必须Star
    liuhaotian
        27
    liuhaotian  
       2015-05-27 21:47:11 +08:00
    @keyfunc v4co.com
    关于命名的之前弄到一半没弄了...

    这个 Babel 也是一个资料库类似的
    mahone3297
        28
    mahone3297  
       2015-05-27 22:02:11 +08:00
    绝对头疼。。。能想半天。。。
    wind3110991
        29
    wind3110991  
       2015-05-27 22:44:23 +08:00
    初始开发还好吧。。。只是客户需求变更是个大问题。以前师兄项目留下来的代码,里面功能改了无数次,类名和实现功能完全不一致,再经过我们手中。。呵呵,估计现在已死
    66450146
        30
    66450146  
       2015-05-27 22:52:29 +08:00   1
    There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton
    phithon
        31
    phithon  
       2015-05-27 22:54:17 +08:00
    我会star!!
    RaymondYip
        32
    RaymondYip  
       2015-05-27 22:57:05 +08:00
    命名是最最蛋疼的事儿了
    linxy
        33
    linxy  
       2015-05-27 22:58:32 +08:00
    不开源的东西已经完全 是fuck bitch之流了…
    心痛
    xiaosun
        34
    xiaosun  
       2015-05-27 22:59:20 +08:00 via iPad
    最近在背雅思词汇,commit记录逼格提高了不少,比如能用fix的地方绝不用fix,要用tackle,能用think的地方绝不用think,用reckon,之类的,就是要让别人觉得高大上,也许你也需要雅思词汇.....都是些不那么俗气的常用词
    nomemo
        35
    nomemo  
       2015-05-27 23:24:40 +08:00
    @xiaosun zan.
    charle9
        36
    charle9  
       2015-05-28 00:41:57 +08:00
    项目名叫,取个名字
    yangqi
        37
    yangqi  
       2015-05-28 00:45:48 +08:00
    @xiaosun 你搞错了,没人会觉得你高大上,而是会觉得你是个怪人,或者在装B

    你试试中文和别人交流的时候用书面语,看看人家会如何想
    xiaosun
        38
    xiaosun  
       2015-05-28 01:29:24 +08:00 via iPad
    @yangqi 举的那几个例子还真不是书面语……都是正常口语交流常用的,只是中国高中英语水平的人不熟悉而已,就是要在一群用汉语拼音的人面前装个B
    robot9
        39
    robot9  
       2015-05-28 06:50:31 +08:00
    @xiaosun tackle 真不是常用语 reckon用于计算后得到的结论 一般的想法用believe就好了
    Andiry
        40
    Andiry  
       2015-05-28 07:27:00 +08:00
    @xiaosun 喷了,在国外待了好几年,从来没见过美国人在口语中用tackle和reckon代替fix和think的
    bsbgong
        41
    bsbgong  
       2015-05-28 08:13:14 +08:00
    代码中的命名难,主要是英文水平还不地道、思维不够简洁。
    项目的命名一般不算难,大概是LZ生活太单调了? 发挥想象力,大胆地选个有意思的名字就行。

    @xiaosun 你举的这几个例子还真不是日常口语中说的。其实多看美剧、看高质量项目的commit msg,积累下日常用语就可以了。commit msg的重点是简洁明了。
    USCONAN
        42
    USCONAN  
       2015-05-28 08:42:41 +08:00
    @xiaosun tackle 是什鬼?我得乾脆 you 也用了,成 thee ,不但看上去很雅,念起也更有一些。
    timi
        43
    timi  
       2015-05-28 08:49:03 +08:00
    炮姐,
    不同公司有不同命名规范啊,,,虽然好多继承自谷歌。。
    fkccp
        44
    fkccp  
       2015-05-28 08:59:15 +08:00
    看开源项目的源码,里边的命名总让我有一种恍然大悟的感觉,觉得英文文化果然博大精深~~
    maemual
        45
    maemual  
       2015-05-28 09:02:16 +08:00
    曾经搜集过一堆动物的名字,专名用来起项目名字。现在看来,确实有点用。。
    neo2015
        46
    neo2015  
       2015-05-28 09:10:05 +08:00
    这个有必要吗?我都是根据功能和种类来来起名字的,没遇到过压力。
    keyfunc
        47
    keyfunc  
    OP
       2015-05-28 09:15:44 +08:00
    @neo2015 各种有压力,可能是我代码码的太少的关系吧
    est
        48
    est  
       2015-05-28 09:20:28 +08:00
    @66450146

    There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors. -- Phil Karlton
    sonicwu
        49
    sonicwu  
       2015-05-28 09:27:43 +08:00   3
    关于这个问题,有三本书的部分章节建议一读

    -《编写可读代码的艺术》
    -《代码大全》第十一章:变量名的力量
    -《Clean Code》第二章:有意义的命名
    moe3000
        50
    moe3000  
       2015-05-28 09:44:29 +08:00
    这个可以有!不过还是要学好英文
    sinux
        51
    sinux  
       2015-05-28 09:51:12 +08:00
    你好,我非常想加入这个组织。
    soli
        52
    soli  
       2015-05-28 09:58:51 +08:00
    有时候我在想,“变量名要有意义”这件事儿,是不是有人给码农们下的一个套儿?
    ipeony
        53
    ipeony  
       2015-05-28 10:09:59 +08:00
    已star,字段起名也是硬伤啊
    mirukutea
        54
    mirukutea  
       2015-05-28 10:30:39 +08:00
    已star,这个问题已经困扰好久了...
    keyfunc
        55
    keyfunc  
    OP
       2015-05-28 10:42:14 +08:00
    如果对搜索之类的有好的建议,可以在这里或者直接在github上留言。
    mazingyu
        56
    mazingyu  
       2015-05-28 10:47:42 +08:00
    楼主啊,建议分不同的版块比如 iOS 板块,安卓板块,PHP 板块..............................(此处省略一万字).........................你懂得!
    MarioLuisGarcia
        57
    MarioLuisGarcia  
       2015-05-28 10:50:43 +08:00
    其实起名的瓶颈是英语/汉语写作水平
    MarioLuisGarcia
        58
    MarioLuisGarcia  
       2015-05-28 10:51:49 +08:00
    一个尚未有代码的项目24星,我要报警啦!
    cnhongwei
        59
    cnhongwei  
       2015-05-28 10:55:01 +08:00
    其实不同行业的术语也是一个大问题。
    keyfunc
        60
    keyfunc  
    OP
       2015-05-28 11:07:39 +08:00
    @MarioLuisGarcia 没有 pullrequest啊 TAT
    walleL
        61
    walleL  
       2015-05-28 11:20:35 +08:00
    @charle9
    @keyfunc

    Give Me A Name 哈哈
    MarioLuisGarcia
        62
    MarioLuisGarcia  
       2015-05-28 11:22:14 +08:00
    @keyfunc 楼主身先士卒抛砖引玉啊
    keyfunc
        63
    keyfunc  
    OP
       2015-05-28 11:22:30 +08:00
    @sonicwu 谢谢
    keyfunc
        64
    keyfunc  
    OP
       2015-05-28 11:23:14 +08:00
    @MarioLuisGarcia 只有词穷到一个境界才回发起这样的项目 = -
    shunai
        65
    shunai  
       2015-05-28 11:24:57 +08:00
    头脑风暴一下就想出来了,还用这么费劲?
    simonxia
        66
    simonxia  
       2015-05-28 11:26:04 +08:00
    long dick
    short penis
    (逃
    forkon
        67
    forkon  
       2015-05-28 11:28:29 +08:00
    有必要!经常不知如何给众多的变量起一个合适的名字
    yjsslab
        68
    yjsslab  
       2015-05-28 11:51:15 +08:00
    你得有足够的词汇量以及清晰的知道你想做/写什么!
    jianzong
        69
    jianzong  
       2015-05-28 12:00:22 +08:00
    我觉得词汇量不够只是不好好取变量名的原因之一,另一个重要原因是,懒,懒于学习别人的变量取名以及懒于编写高质量的代码。如果取名的时候静下心来或者google一下,很容易取到合适的名字。

    而懒的人通常懒得去翻best practice和楼主的变量命名字典,so....死循环了。
    catface
        70
    catface  
       2015-05-28 12:12:10 +08:00
    一个空项目就有38个star,什么世道啊
    linxy
        71
    linxy  
       2015-05-28 13:10:04 +08:00
    现在已经42了…
    只能叹气 了
    qqjt
        72
    qqjt  
       2015-05-28 13:47:50 +08:00
    我想起了一个笑话:“等我有钱了,一定要找俩个美女,一个帮我想变量名,一个帮我想commit message”。
    jacob
        73
    jacob  
       2015-05-28 13:53:32 +08:00
    @catface 再次证明了,啥叫泡沫经济?啥叫吵概念
    Clarencep
        74
    Clarencep  
       2015-05-28 13:56:53 +08:00
    还是桌上放一本牛津高阶词典比较靠谱吧
    pkhope
        75
    pkhope  
       2015-05-28 14:00:28 +08:00
    关注
    ikaros
        76
    ikaros  
       2015-05-28 15:42:53 +08:00
    更难的是想起用什么了却忘记这个单词怎么拼,然后还要去查词典 0 0
    NovemberEleven
        77
    NovemberEleven  
       2015-05-28 16:31:25 +08:00
    变量名真难。
    omph
        78
    omph  
       2015-05-28 19:32:09 +08:00
    这事适合大数据分析,从 github 上拉下来优质项目,然后分词分类统计
    但名称是有语境的,往深了说,是有艺术性的
    quix
        79
    quix  
       2015-05-28 20:54:30 +08:00
    命名字典是必要的~ 支持楼主~
    wd0g
        80
    wd0g  
       2015-05-28 23:04:05 +08:00
    支持,终于有人来做这个了!
    pityonline
        81
    pityonline  
       2015-05-28 23:36:57 +08:00 via iPhone
    建了 repo 后发现不光命名难,写 commit message 也难……
    andy1987
        82
    andy1987  
       2015-05-29 09:14:10 +08:00
    除了给项目命名痛苦外,给各种文件命名也是件相当痛苦的事情哈
    ThomasZ
        83
    ThomasZ  
       2015-05-29 11:32:39 +08:00
    外国有个大触(具体那个忘了....)说过:所有你需要考虑很久但依然没有一个好的名字的变量都是无用的, 延展一下是不是也可以说到项目上捏 :P
    saintw
        85
    saintw  
       2015-05-29 14:17:17 +08:00
    目前遇到相似的问题,其实程序里怎么写倒还好,关键是URL地址也随便写。甚至有不是单词的东西混了进来。不知道大家对URL地址的命名有没有什么规范化,可以参考的标准。
    jiangpeng
        86
    jiangpeng  
       2015-05-29 16:47:17 +08:00
    都会到 searchcode.com 搜一下
    yge2014
        87
    yge2014  
       2015-05-30 23:37:12 +08:00
    如果是指函数和变量命名的话,我想到这些问题:
    1、大小写还是下划线?比如abCdEf还是ab_cd_ef
    2、单词怎样排序?是ChangeVar还是VarChange?

    关于1我的风格是:
    1、可能被外界访问的,一律是abcDefGhi或类似样子。当然类名的话第一个字母也大写。
    2、内部或临时变量,用abc_def,因为这个写起来不用思考且打字快。
    3、偏底层的,或者xml中的资源,也是abc_def风格。

    关于2我的风格是,怎样方便排序,就怎么写。也即,把比较少变化的单词放在前面,变化的单词放在后面。举例:
    DocIntruCreate
    DocIntruOpen
    DocMenuCreate
    DocMenuOpen
    这对于以后搜索排序很有好处。
    mingyun
        88
    mingyun  
       2015-06-07 17:13:23 +08:00
    star
    kyyych
        89
    kyyych  
       2015-07-16 17:49:17 +08:00
    怎么项目打不开了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3127 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 12:28 PVG 20:28 LAX 05:28 JFK 08:28
    Do have faith in what you're doing.
    ubao 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