📜  护照谷歌誓言20 - Javascript(1)

📅  最后修改于: 2023-12-03 15:25:51.537000             🧑  作者: Mango

护照谷歌誓言20 - JavaScript

简介

护照谷歌誓言20 - JavaScript是一份由谷歌公司制定的JavaScript开发指南,旨在帮助程序员编写出更可靠、可维护的JavaScript代码。

该指南主要分为以下几个部分:

  1. 语言规范:JavaScript基本语法规则、数据类型、变量声明、函数定义等。
  2. 代码风格:JavaScript代码的书写风格、命名规范、注释规范等。
  3. 最佳实践:JavaScript编程中应注意的最佳实践、代码质量的保证等。
语言规范
变量声明
  • 使用'let'和'const'代替'var'声明变量。
  • 变量名使用小驼峰命名法。
  • 隐式类型转换应避免,在比较时使用全等运算符===代替双等于运算符==
// 变量声明
let foo = 'bar';
const baz = 123;

// 变量名小驼峰命名法
let myVariable = 'value';

// 避免隐式类型转换
if (myVariable === 123) {
  // do something
}
函数定义
  • 使用箭头函数或函数声明语法进行函数定义。
  • 函数名使用小驼峰命名法。
  • 将函数参数放在括号内,没有参数也需要保留空括号()
// 箭头函数
const add = (x, y) => x + y;

// 函数声明
function square(x) {
  return x * x;
}

// 函数名小驼峰命名法
function myFunction() {
  // do something
}

// 空括号
function noParams() {
  // do something
}
代码风格
缩进与空格
  • 使用2个空格作为缩进。
  • 操作符前后添加空格。
  • 行尾保留空格。
// 缩进
if (foo) {
  // do something
} else {
  // do something else
}

// 操作符前后添加空格
const sum = 1 + 2;

// 行尾保留空格
const myString = 'Hello, world! ';
命名规范
  • 使用小驼峰命名法命名变量、函数、属性等。
  • 使用大驼峰命名法命名类名、构造函数等。
  • 通常使用单数形式命名对象。
// 小驼峰命名法
let myVariable = 'value';
function myFunction() {
  // do something
}
const myObject = {
  myProperty: 'value'
};

// 大驼峰命名法
class MyClass {
  constructor(myParam) {
    this.myProperty = myParam;
  }
}

const myInstance = new MyClass('value');
注释规范
  • 使用///**/作为单行或多行注释标记。
  • 单行注释在被注释代码上方单独一行。
  • 多行注释在被注释代码上方多行。
  • 注释规范应简洁清晰、易于理解。
// 单行注释
const myVariable = 'value'; // This is a comment.

/*
多行注释
 */

function myFunction() {
  /*
  More comments.
  More comments.
   */
  // do something
}
最佳实践
难以理解的操作符应避免
  • 难以理解的操作符,如逗号运算符、位运算符等,应该避免使用。
// 避免使用逗号运算符
let x = 0,
    y = 1;

// 避免使用位运算符
let result = a & b;
防止全局变量污染
  • 避免使用全局变量。
  • 将所有变量和函数声明放入一个闭包中。
  • 封装代码以避免全局变量污染。
// 避免使用全局变量
let myVariable = 'value'; // Bad!

(function() {
  // 所有变量和函数声明放入闭包中
  let myVariable = 'value'; // Good!

  function myFunction() {
    // do something
  }
}());

// 封装代码以避免全局变量污染
const myModule = (function() {
  let myVariable = 'value';

  function myFunction() {
    // do something
  }

  return {
    myPublicFunction: function() {
      // public function
    }
  };
}());
使用模块化编程
  • 使用模块化编程进行代码管理和组织。
  • 避免在全局作用域定义函数和变量。
// 使用模块化编程
// utils.js
export function myFunction() {
  // do something
}

// app.js
import { myFunction } from 'utils';
myFunction();

// 避免在全局作用域定义函数和变量
let myVariable = 'value'; // Bad!

(function() {
  let myVariable = 'value'; // Better!
}());
总结

护照谷歌誓言20 - JavaScript提供了一套规范化的、可读性强的JavaScript编程指南,可以帮助开发者编写出更加可靠、可维护的JavaScript代码。我们应该遵循这些规范,以提高代码的质量和可维护性。