代码之家  ›  专栏  ›  技术社区  ›  bobobobo

是凯特斯比还是克斯佩迪特?

  •  0
  • bobobobo  · 技术社区  · 15 年前

    我有一堆不相同的相关常数。有什么更好的方法来命名它们?

    kWalkSpeed
    kRunSpeed
    kEatSpeed
    kDrinkSpeed
    

    或者,

    方式2

    kSpeedWalk
    kSpeedRun
    kSpeedEat
    kSpeedDrink
    

    如果我们根据

    • 可读性
    • 可理解性
    • 由于使用了错误的变量名,所以不容易出错

    我不知道这种情况在其他人身上发生的频率,但是当像这样的变量名变长时,就很容易写了 kSpeedEatingWhenInAHurry 当你真正的意思是 kSpeedEatingWhenInHome

    有什么看法吗?

    4 回复  |  直到 15 年前
        1
  •  9
  •   Matthew Jones    15 年前

    如果归结为一个或另一个,我总是做选择1。kSpeedWalk听起来应该是一个布尔值,而不是一个值(例如,我是快速行走还是正常行走)。

        2
  •  4
  •   pkh    15 年前

    我过去处理这个问题的一种方法是命名常量,所以您有(当然,使用您喜欢的大写方法):

    Speed.walk
    Speed.run
    Speed.eat
    Speed.drink
    

    Speed::walk
    Speed::run
    Speed::eat
    Speed::drink
    

    (或者这些可能是KSpeed——我不确定您的示例中的k是用来做什么的。)

        3
  •  1
  •   Ponkadoodle    15 年前

    我更喜欢kSpeedWalk。我觉得更一致。你指的是obj.x,obj.y.x.obj毫无意义!最左边的术语应该是所有右边的术语都适合的组。

    另一个选项是kSpeed_walk,其中下划线的作用类似于点符号。但这并不是一个广泛使用的符号AFAIK,这可能会导致任何试图在代码中使用/添加的人产生混淆。

        4
  •  1
  •   Chris S    15 年前

    变量是否基于动词,例如,你在快速行走,或描述 你在做什么?

    如果你说的是你走路的速度,通常是WALKSPEED,WALKSPEED,WALKSPEED(哪种情况与你选择的语言相匹配)。

    speedWalk将告诉下一个会说英语的程序员,他会检查你的代码,你正在处理某种 speed-walking 模拟,以及 eating competition .