O'Reilly: Maintainable JavaScript 中译本

Update! 官网图书介绍:O'Reilly: Maintainable JavaScript .

每个人都有固定的一套编码习惯,但在团队协作过程中,则需要每个人都遵守统一的编码约定和编程方法。而本书内容正是讲述如何在团队协作中保持高效的编码,这些最佳实践包括代码风格、编程技巧以及自动化。你将学习到如何写出具有高可维护性的代码,团队任何人都可以轻松的理解、适应和对你的代码做扩展。

本书作者是大名鼎鼎的Nicholas Zakas。他曾是Yahoo!的首席前端开发工程师,在完成了从一名独行侠到团队精英的蜕变后,他站在前端工程师的角度为我们提炼出一打最佳编程实践,其中包括很多来自工业生产的最佳法则。应用这些技巧和技术,可以使你的团队编程从侠义的个人偏好的阴霾走出来,走向真正的高效和高水准。

作者简介:Nicholas C.Zakas是一名前端开发顾问、作者、演讲家。在Yahoo!供职超过5年时间,在这期间他曾是Yahoo首页首席前端工程师和YUI代码贡献者。他著有“JavaScript高级程序设计”、“Ajax高级程序设计”和“高性能JavaScript”。Zakas 倡导了很多最佳实践,包括渐进增强、可访问性、性能、扩展性和可维护性等等。他的博客地址是:http://www.nczonline.net/。他的Twitter是:@slicknet。

原版图书信息:

书名:Maintainable JavaScript
出版:O'Reilly Media
作者:Nicholas C.Zakas
出版日期:2012-5
页数:240
ISBN:978-1-4493-2768-2

译者:拔赤/流火/一舟

样章试读引言

blog comments powered by Disqus

Table of Contents

  1. 编程风格
  2. 基本的格式化
    1. 缩进层级
    2. 语句终止
    3. 行的长度
    4. 行的分隔
    5. 命名
    6. 直接量
  3. 注释
    1. 单行注释
    2. 多行注释
    3. 书写注释
    4. 文档注释
  4. 语句和表达式
    1. 括号对齐
    2. 语句块间距
    3. switch语句
    4. with语句
    5. for循环
    6. for in 循环
  5. 变量、函数和操作符
    1. 变量声明
    2. 函数声明
    3. 函数调用间距
    4. 立即调用的函数
    5. 相等比较
    6. eval()
    7. 原始值的包装类型
  6. 编程实践
  7. UI层的松耦合
    1. 什么是松耦合
    2. 将JavaScript从CSS中抽离
    3. 将CSS从JavaScript中抽离
    4. 将JavaScript从HTML中抽离
    5. 将HTML从JavaScript中抽离
  8. 避免全局变量
    1. 全局变量带来的问题
    2. 意外的全局变量
    3. 单全局变量
    4. 零全局变量
  9. 事件处理
    1. 典型用法
    2. 规则1:隔离应用逻辑
    3. 规则2:不要分发事件对象
  10. 避免“空比较“
    1. 检测原始值
    2. 检测引用值
    3. 检测属性
  11. 将配置数据从代码中抽离
    1. 什么是配置数据
    2. 外化配置数据
    3. 保存配置数据
  12. 抛出自定义错误
    1. 错误的本质
    2. 在JavaScript中抛出错误
    3. 抛出错误的优点
    4. 何时抛出错误
    5. try-catch语句
    6. 错误类型
  13. 不是你的对象不要动
    1. 什么是你的?
    2. 原则
    3. 更好的方法
    4. 关于Polyfills
    5. 阻止修改
  14. 浏览器嗅探
    1. UserAgent嗅探
    2. 特性检测
    3. 避免特性推断
    4. 避免浏览器推断
    5. 到底该怎么办?
  15. 自动化
  16. 文件和目录结构
    1. 最佳实践
    2. 基本结构
  17. Ant
    1. 安装
    2. 打包文件
    3. 运行打包
    4. 目标操作的依赖
    5. 属性
    6. Buildr程序
  18. 校验
    1. 寻找文件
    2. 任务
    3. 增强的目标操作
    4. 其他方面的增强
    5. Buildr任务
  19. 连接和加工
    1. 任务分解
    2. 行结束符
    3. 头和尾
    4. 文件加工
  20. 文件精简和压缩
    1. 精简(Minification)
    2. 压缩(Compression)
  21. 文档化
    1. JSDoc Toolkit
    2. YUI Doc
  22. 自动化测试
    1. YUI Test Selenium引擎
    2. Yeti
    3. PhantomJS
    4. JsTestDriver
  23. 组装到一起
    1. 被忽略的细节
    2. 编制打包计划
    3. 使用CI系统
  24. 附录:JavaScript编程风格
  25. 附录:JavaScript工具