关于程序里面的变量命名法

作为新手程序员,变量命名一直是我头疼的问题,我给变量命名一直是随缘,没有统一标准,命名五花八门、杂乱无章,甚至用a,b,c命名。可读性非常差。

最近看到一篇讲变量命名的文章,觉得很受用,决定总结一下。同时也是督促自己:以后写代码要规范,养成好习惯。

原文地址:https://github.com/kettanaito/naming-cheatsheet

  1. 使用英文。变量名称尽可能使用英文单词,避免使用a,b,c之类的意义不明的命名方式。

  2. 自己制定一种命名规则并且坚持使用下去。

  3. 命名遵循简短,直观,容易理解的规则。

  4. 避免缩写。

  5. 避免上下文重复。举个例子:

    class MenuItem {
      /* Method name duplicates the context (which is "MenuItem") */
      handleMenuItemClick = (event) => { ... }
    
      /* Reads nicely as `MenuItem.handleClick()` */
      handleClick = (event) => { ... }
    }

     

  6. 命名要反映预期的结果。比如说:

    /* Bad */
    const isEnabled = itemCount > 3
    return <Button disabled={!isEnabled} />
    
    /* Good */
    const isDisabled = itemCount <= 3
    return <Button disabled={isDisabled} />
    

      

  7. 方法的命名

公式:

前缀 + 动作 (A) + 高语境(HC) + 低语境 (LC)

前缀:强化变量名的语境。常用前缀如下:

is:描述上下文特征或者状态状态,通常表示返回值是true或者false。

has:描述上下文是否有某个值或者状态,通常表示返回值是true或者false。

should:描述某个操作是正确的动作,通常表示返回值是true或者false。

min/max:描述最大或者最小值。

prev/next:描述当前上下文中前一个或者后一个的状态。

动作:负责描述函数的作用,常见的动作有下面几种:

get:立刻获取到数据。

set:设置值。

reset:将值重置,也就是变成初始值。

fetch:请求一个值,用于耗时较长的操作,比如网络http请求。

remove:从集合里面去除元素。

delete:删除操作,倾向于表达完全删除的意思。

compose:从已经存在的数据中创建新的数据,通常用于字符串,对象,函数。类似get。

handle:处理操作,比如处理点击事件,常用于回调函数。

语境:函数操作的对象。

8.可以使用英语里面的语法规则单数或者复数表示变量名。

 

posted @ 2021-02-18 09:31  kklao  阅读(148)  评论(0)    收藏  举报