JavaScript编写风格指南

//参考《编写可维护的Javascript》

 一:缩进
// 第一行的层级由4个空格组成,避免使用制表符tab进行缩进

//好的写法
if (true) {
    doSomething();
}

 二:行的长度
// 每行长度不应该超过80个字符。如果一行对于80个字符,应当在一个运算符(逗号,加号符)
// 后换行。下一行应当增加两级缩进

//好的写法
doSomething(argument1, argument2, argument3, argument4,
    argument5);

 三:原始值
// 字符串应当使用双引号(避免使用单引号)且保持一行。避免在字符串中使用斜线另起一行

//好的写法
var name = "M";

//不好的写法
var name = ‘M‘;

//不好的写法:字符串结束之前换行
var longString = "Here‘s the sorry, of a man \
named Brady.";

// 数字应当使用十进制整数,科学计数法表示整数,十六进制整数,或者十进制浮点小数,
// 小数点前后应当至少保留一位数字。避免使用八进制直接量

//好的写法
var count = 10;
var price = 10.00;
var price = 10.0;
var num = 0x23;

//不好的写法
var price = 10.;
var price = .1;
var price = 010;

特殊值null除了下述情况下应当避免使用
// 1.用来初始化一个变量,这个变量可能被赋值为一个对象
// 2.用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象
// 3.当函数的参数期望是对象时,被用作参数传入
// 4.当函数的返回值期望是对象时,被用作返回值传出

Example:

//好的写法
var person = null;

//好的写法
function getPerson() {
    if (condition) {
        return new Person("M");
    } else {
        return null;
    }
}

//好的写法
var person = getPerson();
if (person !== null) {
    doSomething();
}

//不好的写法:和一个未被初始化的变量比较
var person;
if (person != null) {
    doSomething();
}

//不好的写法:通过测试判断某个参数是否被传递
function doSomething(arg1, arg2, arg3, arg4) {
    if (arg4 !== null) {
        doSomething();
    }
}

//避免使用特殊值 undefined 判断一个变量是否定义应当使用typeof操作符

//好的写法
if (typeof variable == "undefined") {
    //do something;
}

//不好的写法:使用了undefined直接量
if (variable == undefined) {
    // do something;
}

四:运算符间距

// 三元运算符前后必须使用一个空格来保持表达式的整洁。
// 操作符包括赋值运算符和逻辑运算符

//好的写法
var found = (value[i] === false);

//好的写法
if (found && (count > 10)) {
    doSomething();
}

//好的写法
for (i = 0; i < count; i++) {
    process(i);
}

//不好的写法:丢失了空格
var found = (varlues[i]===false);

if (found&&(count>10)) {
    doSomething();
}

for (i=0; i<count; i++) {
    process(i);
}

时间: 2024-08-03 09:30:26

JavaScript编写风格指南的相关文章

JavaScript编写风格指南 (三)

七(七):严格模式 // 严格模式应当仅限在函数内部使用,千万不要在全局使用 //不好的写法:全局使用严格模式"user strict"; function doSomething() {    //code} //好的写法function doSomething() {    "user strict"; //code} // 如果你期望在多个函数中使用严格模式而不需要多次声明"use strict", 可以使用立// 即被调用的函数 //好的

JavaScript编写风格指南 (二)

七:注释 // 频繁的使用注释有助于他人理解你的代码// 1.代码晦涩难懂// 2.可能被误认为是错误的代码// 3.必要但不明显的针对特定浏览器的代码// 4.对于对象,方法或者属性,生成文档是有必要的(使用恰当的文档注释) 七(一):单行注释 // 单行注释应当用来说明一行代码或者一组相关的代码.单行注释可能有三种使用方式// 1.独占一行的注释,用来解释下一行的代码// 2.在代码行的尾部的注释,用来解释它之前的代码// 3.多行,用来注释掉一个代码块 Example: //好的写法if

JavaScript 编码风格指南

A.1  缩进 // 4个空格的层级缩进 if (true) { doSomething(); } A.2  行的长度 // 每行限于80个字符,超出则在运算符后换行,缩进2个层级(8个空格) doSomething(argument1, argument2, argument3, argument4, argument5); A.3  原始值 // 字符串使用双引号及长字符串的链接 var name = "Nicholas", longStr = "this is a lo

Protocol buffers编写风格指南

原文链接:https://developers.google.com/protocol-buffers/docs/style Style Guide 本文说明了.proto文件的编写风格指南.遵循这些约定,将使protocol buffer message的定义及其相应的类保持一致且易于阅读. Message And Field Names 对于message的命名,采用驼峰命名法(第一个字母大写),例如SongServerRequest.对于message中的字段,采用下划线分隔的方式命名,如

JavaScript编码风格指南(中文版)

前言:程序语言的编码风格对于一个长期维护的软件非常重要,特别是在团队协作中.如果一个团队使用统一规范的编码分风格,可以提高团队的协作水平和工作效率.编程风格指南的核心是基本的格式化规则,这些规则决定了如何编写高水准的代码.本指南来自于<编写可维护的JavaScript>这本书,基于"Java语言编码规范"和Crockford的JavaScript编程规范,还有Nicbolas的一些个人经验和喜好.写作本文旨在加深自己印象,也为了更多人的了解到JS编码风格,提高自己的编码质量

世界顶级互联网公司 Google JavaScript 代码风格指南

Google 和 Airbnb 是目前最流行的 JavaScript 代码风格,如果你长期使用 JavaScript 来写代码的话,建议对比看看. 以下是我认为在 Google 代码风格指南中最有意思的十三条规则,和大家分享一下: 使用空格,而不是 tab 除了行终止符外,在系统文件中,空格是唯一表示空白的字符,这意味着 tab 不能作为缩进使用. 这份指南规定用2个空格(而不是4个)来表示缩进. // bad function foo() { ????let name; } // bad fu

《编写可维护的 Javascript》读书笔记(附录 A 部分):Javascript 编码风格指南(1)原始值

记录一下比较有用的编码规范(该指南是基于 Java 语言编码规范和 Javascript 编程规范,同时结合作者 Nicholos Zakas 的个人经验和喜好). 一些关于格式(包括缩进.行的长度.运算符间距.括号间距.对象直接量.注释.单行注释.多行注释等类似的规范)的规范这里不做记录. A.3 原始值 // 好的写法 var name = "Nicholos"; // 不好的写法:单引号 var name = 'Nicholos'; // 不好的写法:字符串结束之前换行 var

JavaScript 代码风格指南

一.基本格式 缩进 建议每级4个空格,可以给编辑器设置tab = 4个空格,自动转换 分号 不要省略分号,防止ASI(自动插入分号)错误 行宽 每行代码不超过80个字符,过长应该用操作符手动断行 断行 操作符在上一行末尾,且下一行缩进2级,如果是赋值语句,还应该和等号后面部分对齐 空行 函数声明与函数声明.变量声明与函数声明.函数内部的逻辑块之间都应该有空行隔开 作者尼古拉斯还建议在流程控制块顶部留一个空行,但给的例子不是很明确 命名 变量名/函数名:Camel(驼峰)规则,首词首字母小写,后续

Airbnb JavaScript 编码风格指南(2018年最新版)

原网址 :  https://segmentfault.com/a/1190000013040555 类型 基本类型:直接存取 string number boolean null undefined symbol const foo = 1; let bar = foo; bar = 9; console.log(foo, bar); // => 1, 9 symbol 类型不能完全polyfilled,所以请谨慎使用 复杂类型: 通过引用的方式存取 object array function