V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jiankangxin
V2EX  ›  问与答

如何让自己的变量命名更优雅

  •  
  •   jiankangxin · Dec 11, 2014 · 6966 views
    This topic created in 4165 days ago, the information mentioned may be changed or developed.
    总是写不了一些优雅的代码,个人总是感觉 变量命名是个大坑 谁有相关资料,求分享呀

    方向重点是python
    52 replies    2018-08-08 00:51:57 +08:00
    jwk345
        1
    jwk345  
       Dec 11, 2014   ❤️ 1
    学好英文
    invsbelephant
        2
    invsbelephant  
       Dec 11, 2014
    个人坚持一种风格就行了吧,我是习惯骆驼。
    liyaoxinchifan
        3
    liyaoxinchifan  
       Dec 11, 2014
    写代码时打开《英文常用名大全》~~
    MeirLin
        4
    MeirLin  
       Dec 11, 2014
    看过一人代码,喜欢用百家姓来命名 -。-
    chmlai
        5
    chmlai  
       Dec 11, 2014
    用拼音吧
    baichi
        6
    baichi  
       Dec 11, 2014
    苹果鸭梨橘子香蕉……老虎狮子小猫小狗……
    mornlight
        7
    mornlight  
       Dec 11, 2014
    有些名称我不知道英文名,就随手打开有道词典找找翻译。一般都使名字易懂,长度可以不简洁。
    mhycy
        8
    mhycy  
       Dec 11, 2014
    @liyaoxinchifan
    @MeirLin
    @chmlai
    @baichi
    要坑了维护者么...
    USCONAN
        9
    USCONAN  
       Dec 11, 2014
    utor lingua latīna dē liber。
    Tink
        10
    Tink  
    PRO
       Dec 11, 2014
    拼音
    ffffwh
        11
    ffffwh  
       Dec 11, 2014
    大型Python IDE如PyCharm对重构之重命名支持程度如何?很靠谱/还是关系一复杂就要人工干预?
    zhouquanbest
        12
    zhouquanbest  
       Dec 11, 2014
    比如Exception部分加女友名前缀?
    typcn
        13
    typcn  
       Dec 11, 2014
    拼音+英文混合

    XiaZaiFiles

    取首字母

    XZF

    哈哈哈哈
    tabris17
        14
    tabris17  
       Dec 11, 2014
    用蔬菜水果命名
    xjliao
        15
    xjliao  
       Dec 11, 2014
    真的 看过一个公司的 不管类名 变量名 方法名 都用拼音或者拼音的缩写
    zachgenius
        16
    zachgenius  
       Dec 11, 2014   ❤️ 2
    学好英文,以OC的风格,把方法名,变量名,类名写成句子。我就这么干的。大部分方法名没少于20个字符,几乎完全不用注释
    roychan
        17
    roychan  
       Dec 11, 2014
    拉丁文
    staticor
        18
    staticor  
       Dec 11, 2014
    learn_some_english_make_better_life = 1.0

    vs

    LearnSomeEnglishMakeBetterLife = 1.0

    vs

    haohaoxuexitiantianxiangshang = 1.0

    vs

    a = 1.0 ; kanbudongbazhejiuduile = 1.0

    看自己喜欢哪个?
    24
        19
    24  
       Dec 11, 2014
    代码大全 第十一章,专门讲这个的。
    kobe1941
        20
    kobe1941  
       Dec 11, 2014
    Google翻译
    Esay
        21
    Esay  
       Dec 11, 2014
    推荐个薄薄的小册子——《编写可读代码的艺术》
    jacob
        22
    jacob  
       Dec 11, 2014
    foo,bar,baz,qux,titi,tata,xyzzy,garply,
    mjar
        24
    mjar  
       Dec 11, 2014
    把编辑器字体改成“静蕾体”就会优雅很多了。
    after1990s
        25
    after1990s  
       Dec 11, 2014   ❤️ 1
    const int iFive = 4;
    happywowwow
        26
    happywowwow  
       Dec 11, 2014
    elegant_args = 1
    more_elegant_args = 2
    more_and_more_elegant_args = 3
    supergrubby
        27
    supergrubby  
       Dec 11, 2014
    use ubiquitous language
    keniusahdu
        28
    keniusahdu  
       Dec 11, 2014
    @after1990s five=4 够狠!
    lsmgeb89
        29
    lsmgeb89  
       Dec 11, 2014
    You may read and study the google style guide which includes several mainstream programming languages, and eventually form your own style in your project.

    https://code.google.com/p/google-styleguide/
    yopming
        30
    yopming  
       Dec 11, 2014
    看来我还是太仁慈了
    我只是找了些精灵语昆雅字母来替代first second A B之类的
    Kilerd
        31
    Kilerd  
       Dec 11, 2014 via Android
    int num => int iNum
    char string => cString

    这种命名方法好像有名字的,好像挺出名的。
    lifanxi
        32
    lifanxi  
       Dec 11, 2014
    @Kilerd 这叫匈牙利命名法,以前在Windows下比较常用。
    qianlifeng
        33
    qianlifeng  
       Dec 11, 2014
    1. 尽量使用该语言的惯用命名法
    2. 命名一定要跟相关且容易理解。方法一般动词开头,变量一般名词
    caoyue
        34
    caoyue  
       Dec 11, 2014   ❤️ 3
    不要怕名字长
    比如:
    com.sun.java.swing.plaf.nimbus.InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
    pi1ot
        35
    pi1ot  
       Dec 11, 2014
    多看看gnu风格的常用缩写
    zhuzhichao
        36
    zhuzhichao  
       Dec 11, 2014
    tiānQì xìngBíe niánLìng dìQū chángDù
    BGLL
        37
    BGLL  
       Dec 11, 2014
    学好拼音
    Kilerd
        38
    Kilerd  
       Dec 11, 2014 via Android
    @lifanxi 个人觉得这种方法不错,特别是在需要定义变量类型的语言中。
    lifanxi
        39
    lifanxi  
       Dec 11, 2014 via Android
    @Kilerd 有优点也有缺点。缺点包括但不限于:重构代码改数据类型时还得跟着改变量名。抽象类型会造成程序员造出各种各样五花八门的变量名前缀。
    Kilerd
        40
    Kilerd  
       Dec 11, 2014
    @lifanxi 也是,不過這種東西就看個人是否喜愛了。
    gno23x
        41
    gno23x  
       Dec 11, 2014
    @pi1ot 请问你这个是指看代码吗?还是有相关规范?
    loading
        42
    loading  
       Dec 11, 2014 via Android
    把a1命名为:YouYa_a1
    wezzard
        43
    wezzard  
       Dec 11, 2014
    let aNumberi: Int = 1
    let aNumberf: Double = 1.0

    後面的i和f是跟 OpenGL 學的。
    guokwei
        44
    guokwei  
       Dec 11, 2014
    如果实在没有好的名字,那就尽可能把变量名写的清楚点,就是“什么的按钮”、“做什么的集合”,等等,可读性很好,或许下次读到瞬间就会有一个好名字浮现,但是如果不知道这个变量的命名是什么意思的时候就费脑筋了,长名字变短容易,读明白才是首要。希望有用。
    tinymao
        45
    tinymao  
       Dec 12, 2014 via iPad
    接手一个项目里面有个 PdUtils,刚才恍然大悟,前面那孙子名字缩写 pd。
    ChanneW
        46
    ChanneW  
       Dec 12, 2014
    雇个秘书专门起名字
    Tink
        47
    Tink  
    PRO
       Dec 12, 2014
    @tinymao 笑尿了
    tuimaochang
        48
    tuimaochang  
       Dec 12, 2014
    youya_cupListCount
    inyfee
        49
    inyfee  
       Dec 12, 2014
    最近被单位叫去研究一个人事软件,我一看就傻了,数据库字段名都是拼音首字母组成。猜也猜不透
    anytk
        50
    anytk  
       Dec 12, 2014
    看一些比较好的库的API命名,资料可以看PEP7、PEP8,Ruby源码命名、Lua源码命名,libSDL的命令也很不错,gtk命名规范也可以参考
    thedevil5032
        51
    thedevil5032  
       Dec 12, 2014
    Clean Code, Chapter 2. Meaningful Names
    s1E4GnZ4A2qGRyva
        52
    s1E4GnZ4A2qGRyva  
       Aug 8, 2018
    Python3 的话可以考虑中文命名, 如: https://zhuanlan.zhihu.com/p/34386229
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5945 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 243ms · UTC 03:35 · PVG 11:35 · LAX 20:35 · JFK 23:35
    ♥ Do have faith in what you're doing.