在线客服
编写可维护的JavaScript图书
人气:58

编写可维护的JavaScript

本书约定 这个图标表示一种提示、建议或一般性的提醒。 这个图标表示一种警告。 使用示例代码 本书是为了帮助你完成你的工作。通常来讲,你可以任意使用本书中的程序和文档。

内容简介

《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。书中内容涵盖了编码风格、编程技巧、自动化、测试等几方面,既包括具体风格和原则的介绍,也包括示例和技巧说明,还介绍了如何通过自动化的工具和方法来实现一致的编程风格。《编写可维护的JavaScript》作者Nicholas C. Zakas是的Web技术专家,也是《JavaScript高级程序设计》一书的作者。他曾是Yahoo!的首席前端开发工程师,在完成了从一名"独行侠"到"团队精英"的蜕变后,他站在前端工程师的角度提炼出众多的编程实践,其中包括很多业内所推崇的法则,而这些宝贵经验正是本书的核心内容。《编写可维护的JavaScript》适合前端开发工程师、JavaScript程序员和学习JavaScript编程的读者阅读,也适合开发团队负责人、项目负责人阅读。运用书中讲述的技巧和技术,可以使JavaScript团队编程从侠义的个人偏好的阴霾走出来,走向真正的高可维护性、高效能和高水准。

编辑推荐

1.作者是大名鼎鼎的Nicholas Zakas,他是《JavaScript高级程序设计》、《Ajax高级程序设计》和《高性能JavaScript》的作者。在业界很有知名度和影响力,畅销书作者。

2.本书是本集中关注编程风格和实践的JavaScript技术图书。

3.本书得到国内外众多知名前端工程师的推荐和好评。中文版由UED团队负责翻译,质量,著译双馨。

作者简介

Nicholas C. Zakas是一名前端开发顾问、作者、演讲家。他在Yahoo! 供职超过5年时间。在这期间,他曾是Yahoo!首页首席前端工程师和YUI代码贡献者。他著有《JavaScript高级程序设计》、《Ajax 高级程序设计》和《高性能JavaScript》。他的博客地址是: www.nczonline.net/。他的Twitter是:@slicknet。 李晶,花名拔赤,前端工程师,具有多年前端开发经验,在团队协作、组件开发、移动Web App等方面有深入研究,曾经参与首页、KISSY等项目开发。他翻译过《JavaScript Web富应用开发》、《JavaScript指南(第六版)》、《What is Node?》等书籍,热爱分享,喜欢折腾。微博weibo.com/jayli。 郭凯,花名流火,前端工程师,喜欢登山,也喜欢夜深人静时一人静静地写代码,折腾过许多小站均未能持久,有In、Juicer等开源项目。钟爱JavaScript,也喜欢Python,自嘲所学杂而不精。博客benben.cc。 张散集,花名一舟,前端工程师。他主要从事技术管理,负责网(北京)的新业务技术和前端团队,热爱前端新技术的推广与应用。翻译作品有《JavaScript Web富应用开发》和《JavaScript指南(第六版)》。

目录

及时部分 编程风格

第1章 基本的格式化

1.1 缩进层级

1.2 语句结尾

1.3 行的长度

1.4 换行

1.5 空行

1.6 命名

1.6.1 变量和函数

1.6.2 常量

1.6.3 构造函数

1.7 直接量

1.7.1 字符串

1.7.2 数字

1.7.3 null

1.7.4 undefined

1.7.5 对象直接量

1.7.6 数组直接量

第2章 注释

2.1 单行注释

2.2 多行注释

2.3 使用注释

2.3.1 难于理解的代码

2.3.2 可能被误认为错误的代码

2.3.3 浏览器特性hack

2.4 文档注释

第3章 语句和表达式

3.1 花括号的对齐方式

3.2 块语句间隔

3.3 switch语句

3.3.1 缩进

3.3.2 case语句的"连续执行"

3.3.3 default

3.4 with语句

3.5 for循环

3.6 for-in循环

第4章 变量、函数和运算符

4.1 变量声明

4.2 函数声明

4.3 函数调用间隔

4.4 立即调用的函数

4.5 严格模式

4.6 相等

4.6.1 eval()

4.6.2 原始包装类型

第二部分 编程实践

第5章 UI层的松耦合

5.1 什么是松耦合

5.2 将JavaScript从CSS中抽离

5.3 将CSS从JavaScript中抽离

5.4 将JavaScript从HTML中抽离

5.5 将HTML从JavaScript中抽离

5.5.1 方法1:从服务器加载

5.5.2 方法2:简单客户端模板

5.5.3 方法3:复杂客户端模板

第6章 避免使用全局变量

6.1 全局变量带来的问题

6.1.1 命名冲突

6.1.2 代码的脆弱性

6.1.3 难以测试

6.2 意外的全局变量

避免意外的全局变量

6.3 单全局变量方式

6.3.1 命名空间

6.3.2 模块

6.4 零全局变量

第7章 事件处理

7.1 典型用法

7.2 规则1:隔离应用逻辑

7.3 规则2:不要分发事件对象

第8章 避免"空比较"

8.1 检测原始值

8.2 检测引用值

8.2.1 检测函数

8.2.2 检测数组

8.3 检测属性

第9章 将配置数据从代码中分离出来

9.1 什么是配置数据

9.2 抽离配置数据

9.3 保存配置数据

第10章 抛出自定义错误

10.1 错误的本质

10.2 在JavaScript中抛出错误

10.3 抛出错误的好处

10.4 何时抛出错误

10.5 try-catch语句

10.6 错误类型

第11章 不是你的对象不要动

11.1 什么是你的

11.2 原则

11.2.1 不覆盖方法

11.2.2 不新增方法

11.2.3 不删除方法

11.3 更好的途径

11.3.1 基于对象的继承

11.3.2 基于类型的继承

11.3.3 门面模式

11.4 关于Polyfill的注解

11.5 阻止修改

第12章 浏览器嗅探

12.1 User-Agent检测

12.2 特性检测

12.3 避免特性推断

12.4 避免浏览器推断

12.5 应当如何取舍

第三部分 自动化

第13章 文件和目录结构

13.1 实践

13.2 基本结构

第14章 Ant

14.1 安装

14.2 配置文件

14.3 执行构建

14.4 目标操作的依赖

14.5 属性

14.6 Buildr项目

第15章 校验

15.1 查找文件

15.2 任务

15.3 增强的目标操作

15.4 其他方面的改进

15.5 Buildr任务

第16章 文件合并和加工

16.1 任务

16.2 行尾结束符

16.3 文件头和文件尾

16.4 加工文件

第17章 文件精简和压缩

17.1 文件精简

17.1.1 使用YUI Compressor精简代码

17.1.2 用Closure Compiler精简

17.1.3 使用UglifyJS精简

17.2 压缩

17.2.1 运行时压缩

17.2.2 构建时压缩

第18章 文档化

18.1 JSDoc Toolkit

18.2 YUI Doc

第19章 自动化测试

19.1 YUI Test Selenium引擎

19.1.1 配置一台Selenium服务器

19.1.2 配置YUI Test Selenium引擎

19.1.3 使用YUI Test Selenium引擎

19.1.4 Ant的配置写法

19.2 Yeti

19.3 PhantomJS

19.3.1 安装及使用

19.3.2 Ant的配置写法

19.4 JsTestDriver

19.4.1 安装及使用

19.4.2 Ant的配置写法

第20章 组装到一起

20.1 被忽略的细节

20.2 编制打包计划

20.2.1 开发版本的构建

20.2.2 集成版本的构建

20.2.3 版本的构建

20.3 使用CI系统

20.3.1 Jenkins

20.3.2 其他CI系统

附录A JavaScript编码风格指南

附录B JavaScript工具集 223HH

媒体评论

"本书是一本教你写出具有前瞻性的JavaScirpt代码的手册,在团队作战中特别有用。" ——Ryan Grove,Yahoo! YUI工程师 "作者将他十多年工作经验的精华部分浓缩至这本通俗易读的书中。我建议每个开发工程师和在校学生尽早阅读本书。不管你有多少经验,本书中的每一页内容都会让你变得更加且倍受大家欢迎。" ——Lea Verou,Web设计师兼Web开发人员 " 这是一本前端工程师的指南,指明了在编码过程需要注意的方方面面。提高可维护性是一个非常大的话题,而这本书,是一个非常不错的起点。" ——王保平(玉伯),支付宝Web前端工程师

网友评论(不代表本站观点)

来自无昵称**的评论:

一直期待的龟书,入手后,仔细研读,确实有一些值得借鉴的东西,推荐购买

2013-07-07 09:13:21
来自无昵称**的评论:

刚收到,大概翻了一下,内容很不错,对js的书写有着很好的规范,值得一看

2013-05-24 21:00:18
来自无昵称**的评论:

正在看中,动物书的口碑都是不错的,实际也不错,只是跟我最初想的有点点出入,但还是能给我很多其他一方面的启示,总体来说还是挺满意的

2013-10-05 18:38:51
来自菜鸟瞰**的评论:

教你如何正确,条理的编写合规代码。技巧方面的内容虽然不多。但对充实开发人员的基本素质来说,还是必须的。

2013-05-27 21:39:05
来自无昵称**的评论:

还没读,不过我已经为上万行的JS代码揪心了,可读性、维护性。前人挖坑,后人被坑

2013-08-21 14:45:23
来自Yong092**的评论:

本书讲得很详细,从简单的javascript基础知识,到面向对象编程~值得推荐

2013-10-23 21:57:01
来自峰际流**的评论:

Very good for a programer familiar with js

2014-03-28 20:04:41
来自11gx**的评论:

讲Javascript的良好编码习惯,值得团队开发借鉴。

2014-03-13 15:06:15
来自ayau123**的评论:

对于前端的代码的风格、如果易于维护都有一定的帮助。

2013-07-17 13:08:17
来自你才是**的评论:

比较不错,很细致。而且全面的阐述了前端生命周期的各方面内容

2013-04-07 08:19:08
来自阡陌131**的评论:

一本适合进阶的书,中后部分讲的东西对写了一段时间代码遇到瓶颈的人很有帮助

2013-05-09 21:11:23
来自无昵称**的评论:

这纸看着像是复印的纸,不知道是不是正版,和我之前买的《JavaScript设计模式》的纸张完全不同

2015-01-10 16:05:49
来自无昵称**的评论:

书的质量很好,就是感觉有点薄,看完总觉得有种意犹未尽的感觉,对规范Javascript编程有很大帮助~~

2013-05-01 17:57:31
来自一度冰**的评论:

这本书讲的内容很好,告诉你为什么遵循一些原则,反正是提升js的有力辅助

2015-01-17 09:16:31
来自weamazi**的评论:

对于无开发经验的自学者来说,这是提高团队开发的好书

2013-09-28 10:44:25
来自无昵称**的评论:

写出好的js代码,要多少次琢磨才能达到的水平,经验全在此书啊!

2015-04-05 01:11:50
来自snowleo**的评论:

js红皮书作者的书,还有本高性能js,都写的不错

2016-09-23 16:00:42
来自无昵称**的评论:

主要内容是Javascript的编写规范。

2015-04-03 09:24:52
来自yaohaix**的评论:

书中讲的关于JAVASCRIPT的编码规范,讲得十分的详细。结合了他个人的经验和YUI和GOOGLE还有JQUERY团队等的JS编码规范,对我来说是非常受益的。里面的内容非常的实用,良好的编码习惯是做一个好程序员的必备条件。其实之前我也看过道格拉斯的编码规范,ZAKAS的书里更加系统的介绍了如何去实践,以及为什要这么做。我在阿里的前端团队的时候,编码就不那么规范,真的,一个大的团队里,后来的人接手之前工程师些的代码,如果没有一个良好的规范,看别人的代码话的时间,比自己写更花时间。这点我是深有体会的。书里还指出了不少编码时的工具,这些是对实际的开发提高开发效率非常有帮助的。只是由于书的篇幅有限,这些工具的使用基本上还是一笔带过。这些内容是需要工程师们自己实践的。总之,这本书是本不错的书,我是推荐大家看看的。

2013-08-05 16:09:23
来自无昵称**的评论:

这个是说javascript编码规范的一本书籍

2015-11-05 15:40:27
来自无昵称**的评论:

权威的书,介绍很多规范与协作"潜规则",对于如何利于团队开发这个是很不错的,建议js开发人员都看看!

2013-10-19 11:18:29
来自围巾的**的评论:

这本书是有一定编程经验的人看着比较好,很喜欢,如果是带团队的话就更适合

2013-11-09 14:13:21
来自圆桌十**的评论:

还没翻过,但是书的包装比较精致,等闲下来再认真读完,希望能学到很多。

2016-04-23 17:04:52
来自爱丽丝**的评论:

特别好的书,写的非常好,对自己的代码有一番特别的反省,这书对我来说非常棒,超级棒!

2016-01-30 18:39:28
来自无昵称**的评论:

团队开发需要大量的协作,所以代码规范和文件组织,单元测试等等都很重要。这本书写的都是实际项目中常用的技巧技术,可以即开即用。

2014-08-27 01:46:07
来自无昵称**的评论:

书是好书,当当也很不错,但是为啥子偶买的书 从188页以后直接到了205页了呢?大家有木有同样的情况?仔细翻阅下,别看到最后发现,我靠 缺页呀。不知道是这一本的问题还是出版社这一批的问题。

2013-06-09 09:04:24
来自无昵称**的评论:

目前公司这里写代码就我一人,很多时候代码写的也没有系统化,很多时候自己写的感觉是面条代码,通过这本书的学习也尽量在思考以及编程的时候做的尽量完善点,作为一个合格的程序员而说:写的代码不仅仅是为自己看懂,最主要是其他人接手来说能看的懂,并不是写的越多越好!

2013-07-24 09:14:28
来自笔儿飞**的评论:

本书对于Javascript入门的同学非常适合,对于JS代码的编写,如何可维护,如何组织代码都有很好的帮助。

2017-08-14 16:22:08

免责声明

更多出版社