《编写可维护的JavaScript 》读书笔记(1) --基本的格式化
来源:互联网 发布:淘宝店护肤品卖什么好 编辑:程序博客网 时间:2024/05/22 14:36
Programs are meant to be read by humans and only incidentally for computers to execute.
程序是写给人读的,只是偶尔让计算机执行一下。
编程风格(style guideline): 规约单文件中代码的规划
编码规范(code convention): 编程最佳实践,文件和目录的规划以及注释
换行
当一行长度达到单行最大字符数限制时,需手动将一行拆成两行,通常我们会在运算符后换行,下一行会增加两个层级的缩进(2个Tab制表符)。
// 推荐: 在运算符后换行(这里是逗号),第二行增加两个缩进(2个Tab制表符)callAFunction(document, element, "some string value", true, 123, navigator;)
语句换行也可以运用这个规则:
if (isLeapYear && isFebruary && day == 29 && itsYourBirthday && noPlans) { waitAnotherFourYears(); }// if的主体部分依然是一个缩进
变量换行
var result = something + anotherThing + yetAnotherThing + anotherSomethingElse;// 当给变量赋值时,第二行的位置应当和赋值运算符的位置保持对齐
空行
用空行分隔代码,确保语义有关联的代码展现在一起,
- 在方法之间;
- 在方法的局部变量和第一条语句之间;
- 在多行或单行注释之前;
- 在方法的逻辑片段之间插入空行,提高可读性。
if (wl && wl.length) { for (i = 0, l = wl.length; i < 1; ++i) { p = wl[i]; type = Y.Lang.type(r[p]); if (s.hasOwnProperty(p) { if (merge && type == 'object') { Y.mix(r[p], s[p]); } else if (ov || !(p in r)) { r[p] = s[p]; } } }}
变量和函数
命名不仅是一门科学,也是一门技术。遵循小驼峰命名法,命名提现数据类型;例如命名count, length和size 表明数据类型是数字,而命名name, title 和message表明数据类型是字符串;函数名前缀应该是动词。
if (isEnabled()) { setName("nicholas"); } if (getName() === "Nicholas") { doSomething(); }
常量
使用大写字母和下划线来命名,下划线用以分隔单词
var MAX_COUNT = 10;var URL = "http://www.nczonline.net/";
构造函数
构造函数的命名常常是名词,用来创建某个类型的实例,通常用大驼峰命名法,前面往往跟new连用。
function Person(name) { this.name = name;}Person.prototype.sayName = function() { alert(this.name);};var me = new Person("Nicholas");
字符串
字符串可以用双引号括起来,也可以使用单引号括起来。
区别:双引号里面的字符串需要对双引号进行转义,单引号里的字符串不需要转义。
// 合法的JavaScript代码var name = "Nicholoas says, \"Hi.\"";// 合法的JS代码var name = 'Nicholos says, "Hi"';// 多行字符串建议用"+"将字符串分成多份var longString = "Here's the story, of a man " + "named Brady.";
对象直接量
创建对象时直接写出所有属性
// お薦めします,推荐的写法var book = { title: "Maintainable JavaScript", author: "Nicholas C. Zakas"};// not Recommendedvar book = new Object();book.title = "Maintainable JavaScript";book.author = "Nicholas C. Zakas";
数组直接量
// Goodvar colors = ["red", "blue", "white"];var numbers = [1, 2, 3, 4];// Badvar colors = new Array("red", "blue", "white");var numbers = new Array(1, 2, 3, 4);
阅读全文
1 0
- 《编写可维护的JavaScript 》读书笔记(1) --基本的格式化
- 《编写可维护的JavaScript》读书笔记——1.基本的格式化
- 编写可维护的JavaScript读书笔记(1)
- 编写可维护的javascript(一):基本的格式化
- 编写可维护的JavaScript读书笔记(2)
- 读书笔记:编写可维护的javascript
- 编写可维护的javascript读书笔记
- 《编写可维护的JavaScript》- 读书笔记
- 《编写可维护的JavaScript》读书笔记——2.注释
- 《编写可维护的JavaScript》读书笔记(2)---注释
- 《编写可维护的JavaScript》读书笔记(3) --语句和表达式
- 编写可维护的JavaScript
- 《编写可维护的javascript》
- 编写可维护的javascript
- 编写可维护的js-读书笔记
- 编写可维护的javascript (Maintainable Javascript)读书笔记(一)第一部分 编程风格
- 如何编写可维护的JavaScript代码?
- 编写可维护的JavaScript(一)
- C语言中的柔性数组
- Java网络编程
- 使用代码修改shape的填充颜色solid
- 奔跑吧,健康的程序员
- Android-Adapter中使用Intent跳转到一个activity
- 《编写可维护的JavaScript 》读书笔记(1) --基本的格式化
- 项目开发实录
- pci与AHB
- C++学习(24)
- Mysql 密码报错ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
- QSlider 拖动滑动条使用valueChanged(int value)信号重复调用槽函数问题解决
- 上传文件图片失败
- Java架构师之路:Java程序员必看的15本书的电子版下载地址
- Hadoop-MapReduce编程思想浅析