一些 JavaScript 的命名规则

2021-09-29  本文已影响0人  bestCindy

变量

变量应该以小驼峰的形式命名(string,boolean,数字,对象,数组,函数)

并且,一个 js 变量应该是 self-descriptive 的,不需要额外的注释来修饰这个变量

// bad
var value = 'Cindy';

// good
var firstName = 'Cindy'

布尔值

is,are,has 这样的前缀来标识一个变量为布尔值

// bad
var visible = true;

// good
var isVisible = true;

//  bad
var equal = false;

// good
var areEqual = false;

// bad
var encryption = true;

// good
var hasEncryption = true;

函数

函数的命名最好以动词为前缀来表达这个函数是干什么的

// bad
function name(firstName, lastName) {
  return `${firstName} ${lastName}`;
}

// good
function getName(firstName, lastName) {
  return `${firstName} ${lastName}`;
}

class

大驼峰形式命名

private

如果一个变量以下划线(_)开头,这说明这个变量是私有的

即使在 javaScript 中,这个私有性并不是强制的

但是把一个变量定义成私有的可以告诉我们这个变量什么时候是可用的,什么时候是不可用的

这样的函数只能在内部使用来计算一些业务逻辑

class SoftwareDeveloper {
  constructor(firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.name = _getName(firstName, lastName);
  }

  _getName(firstName, lastName) {
    return `${firstName} ${lastName}`;
  }
}

var me = new SoftwareDeveloper('Robin', 'Wieruch');

// good
var name = me.name;
console.log(name);

// bad
name = me._getName(me.firstName, ma.lastName);
console.log(name)

常量

常量应该是大写的

通常,一个常量应该定义在 JavaScript 文件的顶部

var SECONDS = 60;
var MINUTES = 60;
var HOURS = 24;

var DAY = SECONDS * MINUTES * HOURS;

如果一个常量的名字大于一个单词,用下划线链接

var DAYS_UNTIL_TOMORROW = 1;

文件

JavaScript 中命名有两种策略,PascalCase(大驼峰)和 kebab-case

在 JavaScript 前端的应用程序中,比如 React components,经常会看到以 PascalCase 的方式命名

- components/
--- user/
----- UserProfile.js
----- UserList.js
----- UserItem.js
--- ui/
----- Dialog.js
----- Dropdown.js
----- Table.js

在 JacaScript 的后端应用程序中经常会使用得到 kebab-case 的命名方式

- routing/
--- user-route.js
--- messages-route.js
上一篇下一篇

猜你喜欢

热点阅读