V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
keyfunc
V2EX  ›  程序员

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

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

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

    最终整理成一个字典供别人查阅。
    第 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
    语言算什么问题?统统用日语就行了嘛(
    falcon05
        19
    falcon05  
       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   ·   实用小工具   ·   992 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:51 · PVG 05:51 · LAX 13:51 · JFK 16:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.