编写可维护的js代码-编程风格笔记

1、基本格式化

  • 缩进层级:4个空格(把tab设成4个空格)
  • 语句结尾:保留;(虽然分析器有自动分号插入机制)
  • 行的长度:80个字符
  • 空行:确保语义有关联的代码展现在一起
  • 命名:变量和函数遵循小驼峰命名法,小写字母开始,后面每个单词首字母大写

    变量命名前缀名词myName

    函数命名前缀动词setName()

    常量MAX_COUNT大写字母和下划线

    构造函数大驼峰命名法AnotherName

  • 直接量:

    字符串:推荐” “,虽然和’ ‘一样

    整数和浮点数:8进制废弃

    null:空对象指针

    初始化一个变量,这个变量可能赋值为一个对象

    和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象

    函数的参数期望是对象时,用作参数传入

    函数返回值期望是对象时,用作返回值传出

    不要用null检测是否传入某个参数

    不要用null检测未初始化的变量

    undefined:var声明但未初始化,尽量不使用undefined,使用var person=null;

    对象:建议使用对象直接量,在直接量中直接写出所有属性;而非显式创建实例然后添加属性的做法。

var book={
    title:"js book",
    author:"wang"
};

数组直接量:

var numbers={1,2,3,4};

2、注释

  • 单行注释:
//好的写法
if (condition) {

    //注释
    allowed();
}

注释前有空行。

代码尾部注释,代码结束到注释间至少有一个缩进。

  • 多行注释:推荐java风格
if (condition){

/*
 * 注释
 * 注释
 */
 allowed();

注释之上有空行

*号之后有空格

难于理解的代码,可能被误认为错误的代码,hack推荐添加注释

方法,构造函数,包含文档化方法的对象推荐加文档注释

3、语句和表达式

  • 块语句推荐使用{}包裹

    if for while do…while try…catch…finally

  • {}推荐使用java风格
if (condition) {
    doSomething();
} else {
    doSomethingElse();
}
  • switch语句
switch(condition) {
    case "first":
        //代码
        break;

    case "second":
    case "third":
        //代码
        break;
    case "fourth":
        //代码
        break;

    //没有default

每条case语句相对于switch缩进一个层级

第二条case语句开始,每条case语句前后各有一个空行

case语句连续执行紧邻

defau语句不用时注释

  • with语句:避免使用
  • for循环:中断,continue ,break,经常遍历数组成员
  • for-in循环:遍历对象属性,返回属性名,不能遍历数组成员

4、变量函数和运算符

js编程的本质是编写一个个函数来完成任务,好像js即可以面向对象,又可以面向过程,还可以函数式编程。

  • 变量声明:变量的声明提前,函数内部任意地方定义变量和在函数顶部定义变量是完全一样的,但推荐都放在顶部
  • 函数声明:同样函数声明也会提前

    推荐函数声明在使用前

    函数声明不推荐在语句块内

    内部局部函数声明建议紧跟变量声明之后

  • 匿名函数,推荐函数声明被()包裹
var value = (function() {
    //

    return {
        message: "hi"
    }
}());
  • 推荐局部使用严格模式
  • 强制类型转换:== !=会强制类型转换,推荐=== !==
  • eval() 将传入的字符串当代码来执行,禁止在封闭的作用域中使用它创建新变量和函数
  • 原始包类型:String,Boolean,Number,每种类型代替全局作用域中的一个构造函数,并对应原始值的对象,原始包类型主要是让原始值具有对象般的行为。String是字符串,是原始类型,可以使用方法,原因是方法调用时建立新的实例,但使用后新实例销毁了。
  • 不推荐手动创建这些对象
var name=new String("wang"); //不推荐
时间: 2024-10-27 18:51:29

编写可维护的js代码-编程风格笔记的相关文章

编写可维护的js代码

在工作中,制定一套统一的编码风格,可以提高开发效率,维护起来的也要容易很多,也能避免一些不必要的错误出现. 项目中常用的检查编码风格的工具JSLint.JSHint.JSCS.ESLint,,在这呢,我就不介绍这些工具的使用,大家可以自行去看看官方文档就好,我就给大家介绍平时写时候的要点就好 基本的格式化 缩进层级 使用制表符进行缩进(tab键:一个制表符的长度相当于4个字符) 编辑器可以设置是一个缩进是2个空格还是4个空格还是8个空格,建议是使用4个空格,折中处理,很多编辑器默认也是4个空格.

<<编写可维护的javascript>> part1: 编程风格

chapter1 基本格式 - 缩进         > tab or 2空格 or 4空格 - 语句结尾 > 语句记得加";"         > json 对象最后不要加 "," - 行的长度 > 80字符         > 超过了就换行, 记得空两个缩进 - 空行 > 在方法前+空行 > 在方法中局部变量和第一条语句前+空行         > 多行或单行注释前+空行         > 在逻辑判断片段前

一步步教你编写不可维护的 PHP 代码

译者注:这是一篇很棒文章,使用有趣的叙述方式,从反面讲解了作为一个优秀的 PHP 工程师,有哪些事情是你不能做的.请注意哦,此篇文章罗列的行为,都是你要尽量避免的. 随着失业率越来越高,很多人意识到保全自己的工作是多么的重要.那么,什么是保住自己工作,并让自己无可替代的好方法呢?一个很简单的事实是只要你的代码没有人能够维护,那么你就成功保住了工作.编写不可维护的代码是一个特殊的技能,但奇怪的是,似乎对某些开发者来说是很自然的.不过对于剩下的开发者来说,这里有一些技巧和提示来让你开始写不可维护的代

编写可维护的javascript代码---开篇

文章开篇主要推荐了2款检测编程风格的工具: JSLint和JSHint: jsLint是由Douglas Crockford创建的.这是一个通用的javascript代码质量检测工具,最开始JSLint只是一个简单的查找不符合javascript模式的,错误的小工具,经过数年的进化,JSLint已经成为一个有用的工具,不仅能可以找出代码潜在的错误,而且能针对你的代码给出编码风格上的警告. JSHint是JSLint的一个分支项目,在github上可以搜到. JSHint的目标是提供更加个性化的j

JS模块化编程(二)

背景 我们常在页面引用js遇到下面情况 <script src="1.js"></script> <script src="2.js"></script> <script src="3.js"></script> <script src="4.js"></script> <script src="5.js"

如何使用 require.js ,实现js文件的异步加载,避免网页失去响应,管理模块之间的依赖性,便于代码的编写和维护。

一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代码,相信很多人都见过. 1 <script src="1.js"></script> 2 <script src="2.js"></script> 3 <script src="3.js">

最新的JavaScript核心语言标准&mdash;&mdash;ES6,彻底改变你编写JS代码的方式!【转载+整理】

原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructuring 箭头函数 Arrow Functions Symbols 集合 学习Babel和Broccoli,马上就用ES6 代理 Proxies ES6 说自己的宗旨是"凡是新加入的特性,势必已在其它语言中得到强有力的实用性证明."--TRUE!如果你大概浏览下 ES6 的新特性,事实上它

《编写可维护的javascript》读书笔记(中)——编程实践

上篇读书笔记系列之:<编写可维护的javascript>读书笔记(上) 上篇说的是编程风格,记录的都是最重要的点,不讲废话,写的比较简洁,而本篇将加入一些实例,因为那样比较容易说明问题. 二.编程实践 1.UI松耦合 第一.将css从javascript中抽离(要改变dom样式数据,应该去操作dom的class名而非dom的style属性,后续要修改此样式只需到对应的css文件中修改而不用修改js文件): 第二.将javascript从HTML中抽离,比如下面的写法是不好的 <!-- 不

如何编写可维护的面向对象JavaScript代码

能够写出可维护的面向对象JavaScript代 码不仅可以节约金钱,还能让你很受欢迎.不信?有可能你自己或者其他什么人有一天会回来重用你的代码.如果能尽量让这个经历不那么痛苦,就可以节省不少时 间.地球人都知道,时间就是金钱.同样的,你也会因为帮某人省去了头疼的过程而获得他的偏爱.但是,在开始探索如何编写可维护的面向对象JavaScript代码之前,我们先来快速看看什么是面向对象.如果已经了解面向对象的概念了,就可以直接跳过下一节. 什么是面向对象?  面向对象编程主要通过代码代表现实世界中的实