编写可维护的JavaScript-随笔(一)
一、基本的格式化
1、 缩进层级
a) 制表符缩进
i. 好处:制表符和缩进层级是一对一的关系是符合逻辑的,文本编辑器可以配置制表符的展示长度,可以随意调节
ii. 坏处:不同系统相同编辑器打开文件时看到的是不相同的缩进
b) 空格符缩进:基本分为2空格、4空格、8空格
i. 好处:在不同的系统和编辑器中展示是相同的,编辑器可以配置按tab插入几个空格
ii. 缺点:对于没有可配置的编辑器的开发者书写代码的方式很原始
2、 语句结尾:js要么独占一行,要么以分号结尾
a) Js有自动分号插入机制(ASI),这种机制可以帮助减少代码错误,在没有分号的时候自动插入,
b) 但是ASI的插入分号的规则非常复杂并且难记所以推荐不省略分号。
3、 行的长度
a) 一行的代码太长的话会出现滚动条,阅读代码的时候很别扭
b) 其他编程语言中都有限制每行的字符的,但是js没有,所以js为了JSlint规范中指定一行的长度为80字符
4、 换行:
a) 当一行的长度超过80字符的时候需要进行换行
b) 下一行会增加两个层级的缩进
c) 在运算符后换行(逗号是一个运算符)
d) 例外:当变量赋值时第二行的位置应该与赋值运算符的位置保持对齐
5、 空行
a) 两段代码的语义不相关时应该使用空行隔开
b) 方法之间
c) 方法中的局部变量和第一条语句之间
d) 多行或者单行注释之前
e) 方法中的逻辑片段之间插入空行,提高可读性
6、 命名
a) JavaScript的核心ECMAscript遵照了驼峰命名法,小写字母开始,后边每个单词首字母大写
b) 变量名前缀使用名词,函数名前缀使用动词
c) 命名长度尽可能短并抓住要点
d) 构造函数以大写字母开头,用来区分变量和普通函数
7、 直接量
a) 字符串:创建多行字符串时使用+将字符串分成多个进行拼接,而不是使用换行符
b) 数值:为了避免歧义不要省略小数点之前或之后的数字,避免使用八进制直接量
c) 对象:第一行左花括号,每个属性名值对独占行并保持一个缩进,右花括号独占一行
d) 数组:使用方括号将数组元素初始值括起来,替代使用构造函数方法创建数组
编写可维护的JavaScript-随笔(一)的更多相关文章
- 【读书笔记】读《编写可维护的JavaScript》 - 编程实践(第二部分)
本书的第二个部分总结了有关编程实践相关的内容,每一个章节都非常不错,捡取了其中5个章节的内容.对大家组织高维护性的代码具有辅导作用. 5个章节如下—— 一.UI层的松耦合 二.避免使用全局变量 三.事 ...
- 《编写可维护的JavaScript》之编程实践
最近读完<编写可维护的JavaScript>,让我受益匪浅,它指明了编码过程中,需要注意的方方面面,在团队协作中特别有用,可维护性是一个非常大的话题,这本书是一个不错的起点. 本书虽短,却 ...
- 编写可维护的Javascript读书笔记
写在前面:之前硬着头皮参加了java方面的编程规范培训,收货良多,工作半年有余的时候,总算感觉到一丝丝Coding之美,以及造轮子的乐趣,以至于后面开发新功能的时候,在Coding style方面花了 ...
- 《编写可维护的javascript》读书笔记(中)——编程实践
上篇读书笔记系列之:<编写可维护的javascript>读书笔记(上) 上篇说的是编程风格,记录的都是最重要的点,不讲废话,写的比较简洁,而本篇将加入一些实例,因为那样比较容易说明问题. ...
- 《编写可维护的javascript》读书笔记(上)
最近在读<编写可维护的javascript>这本书,为了加深记忆,简单做个笔记,同时也让没有读过的同学有一个大概的了解. 一.编程风格 程序是写给人读的,所以一个团队的编程风格要保持一致. ...
- 编写可维护的JavaScript 收纳架
如果你看过Nicolas C.Zakas写过的任何作品,你必须承认他是个不折不扣的天才.也只有天才级的才能写出<JavaScript高级程序设计>让所有的前端攻城师人手一本.Nicolas ...
- 编写可维护的JavaScript之编程风格
在团队中只有每个人的编程风格一致,大家才能方便的互相看懂和维护对方的代码. 1. 层级缩进 对于层级缩进目前有两种主张:1)使用制表符这种方法有两种好处,第一,制表符和缩进层级之间是一一对应关系,符合 ...
- 《编写可维护的JavaScript》 笔记
<编写可维护的JavaScript> 笔记 我的github iSAM2016 概述 本书的一开始介绍了大量的编码规范,并且给出了最佳和错误的范例,大部分在网上的编码规范看过,就不在赘述 ...
- 编写可维护的JavaScript代码(部分)
平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点.看了<编写可维护的javascript代码>之后,做了些笔记. var resul ...
- 推荐一本好书:编写可维护的JavaScript(可下载)
目录 推荐一本好书:编写可维护的JavaScript(可下载) 书摘: 下载: 有些建议: 推荐一本好书:编写可维护的JavaScript(可下载) 书摘: 很多设计模式就是为了解决紧耦合的问题.如果 ...
随机推荐
- 排序算法-插入排序(Java)
package com.rao.linkList; import java.util.Arrays; /** * @author Srao * @className InsertSort * @dat ...
- div垂直居中水平居中css
width: 860px; height: 500px; position: absolute; margin-left: -430px; margin-top: -250px; top: 50%; ...
- OpenResty: 反向代理
打开文件 注:我配置的是 443 <--> 8083 以下域名根据自己的修改 请自行重启,测试.
- Python中的next()\iter()函数详解
什么是可迭代的对象(Iterable,即可以用for循环的对象)和迭代器(Iterator) Iterable: 一类是:list.tuple.dict.set.str 二类是:generator(都 ...
- 详细讲解redis数据结构(内存模型)以及常用命令
Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sor ...
- spark 基本操作(二)
1.dataframe 基本操作 def main(args: Array[String]): Unit = { val spark = SparkSession.builder() .appName ...
- Docker 版rocketmq部署
rocketmq 部署启动指南-Docker 版 最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作# ...
- 修改Mac新建文件、文件夹的默认权限
Mac 新建文件和文件夹默认 当前用户才有读和写的权限,其他用户只有读的权限 修改Mac新建文件.文件夹的默认权限的步骤如下: 1.打开 “终端” 2.在终端中输入以下命令: 创建文件时,从默认值(对 ...
- java8新特性七-Date Time API
Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理. 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: 非线程安全 − java.ut ...
- [转帖]开发人员行走Unix的随身四艺
开发人员行走Unix的随身四艺 https://www.cnblogs.com/jiangzhaowei/p/3568226.html Unix系统永远只会越来越多,开发人员就没必要特意学习它们的安装 ...