Javascript是一个非常神奇的语言。非常容易书写,但是难于维护。希望大家在完成这篇文章阅读之后,能够将你书写的js代码变成真正可维护可阅读的代码!

为什么这么困难?

记住在书写js之前,你需要知道它是一个动态语言。这意味着有很多方式来书写代码。你不需要处理强类型,或者类似C#和java的复杂语言特性 。

最难的部分可以在如下图片中很清楚的认识到:

上面左边的超薄书本是来自于Douglas crokford的JavaScript:The Good Parts(影印版),另外一本厚的来自于David Flanagan的JavaScript权威指南(第6版) 。

两本书都是超棒的阅读本。前一本描述了虽然javascript拥有很多的特性,但是最好的部分可以用一个非常薄的书本来介绍。如果你寻找一个好的,快速阅读的方式,那么这本书非常适合你。

你可以在这里阅读javascript的历史。但是主要要点在于Brandon Eich,在1995年的时候受雇于netscape公司来设计一个新的语言。他后来设计的语言就是我们现在使用的弱类型的javascript。很多年过去了,现在它成为了标准的脚本语言,但是由于浏览器战争,很多浏览器执行的特性不太一样。这很自然的导致了我们这些开发人员的无眠之夜。这个问题,连同javascript的图片和验证处理功能,使得javascript成为一中可怕的语言。

现在呢?我们需要解决这个问题。虽然这里有很多javascript的问题,如果你能正确的使用它,它能够成为一个神奇的语言!

转载于:https://blog.51cto.com/jjfat/921849

编写高度可维护javascript代码的几点关键性原则相关推荐

  1. 《编写可测试的JavaScript代码》——1.4 小结

    本节书摘来自异步社区<编写可测试的JavaScript代码>一书中的第1章,第1.4节,作者: [美]Mark Ethan Trostler 译者: 徐涛 更多章节内容可以访问云栖社区&q ...

  2. 编写可测试的JavaScript代码

    <编写可测试的JavaScript代码> 基本信息 作者: [美] Mark Ethan Trostler 托斯勒 著 译者: 徐涛 出版社:人民邮电出版社 ISBN:9787115373 ...

  3. 《编写可测试的JavaScript代码》——1.3 卓越的应用程序代码

    本节书摘来自异步社区<编写可测试的JavaScript代码>一书中的第1章,第1.3节,作者: [美]Mark Ethan Trostler 译者: 徐涛 更多章节内容可以访问云栖社区&q ...

  4. 新书《编写可测试的JavaScript代码 》出版,感谢支持

    本书介绍 JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码.不管是创建新应用程序,还是重写遗留代码,本书都将向你展示如何为客户端和服务器编写和维护可测试的JavaScript代 ...

  5. 前端每周清单第 7 期:Vue现状与展望、编写现代 JavaScript 代码、Web 开发者安全自检列表...

    前端每周清单第 7 期:Vue现状与展望.编写现代 JavaScript 代码.Web 开发者安全自检列表 为InfoQ中文站特供稿件,首发地址为这里:如需转载,请与InfoQ中文站联系.从属于笔者的 ...

  6. jS代码写在html什么位置,3种JavaScript代码书写位置和注意事项

    在网页中编写JavaScript代码时,有3种书写位置,分别是行内式.内嵌式(也称为嵌入式)和外部式(也称为外链式),下面分别进行讲解. 1. 行内式 行内式是指将单行或少量的JavaScript代码 ...

  7. 编写可维护的javascript代码---开篇(介绍自动报错的插件)

    文章开篇主要推荐了2款检测编程风格的工具: JSLint和JSHint: jsLint是由Douglas Crockford创建的.这是一个通用的javascript代码质量检测工具,最开始JSLin ...

  8. 如何优雅的编写 JavaScript 代码

    几乎每个大一点公司都有一个"运行时间长,维护的工程师换了一批又一批"的项目,如果参与到这样的项目中来,大部分人只有一个感觉--"climb the shit mounta ...

  9. 判断某值是否属于枚举类中的值_编写高质量可维护的代码之优化逻辑判断

    if else.switch case 是日常开发中最常见的条件判断语句,这种看似简单的语句,当遇到复杂的业务场景时,如果处理不善,就会出现大量的逻辑嵌套,可读性差并且难以扩展. 编写高质量可维护的代 ...

最新文章

  1. GitHub分享《深度学习500问》优质资源
  2. 顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)
  3. 中国12个工科世界第一,网友:全是不吃香的|软科2021世界一流学科排名
  4. Scapy学习笔记二
  5. python管理图片_Django 管理图片
  6. invalid character found in the request target 异常
  7. 下学期第三次作业——SQA计划和验收测试规程设计
  8. 为何有些程序员总是想要“干掉”产品经理?
  9. 我的第五个程序 java的JDBC连接mysql数据库 实现输入查询
  10. IBM大中华区总架构师讲述话说程序员的职业生涯
  11. python100例详解-【学习笔记】python100例
  12. vs2005 生成安装包的时候提示“不可恢复的生成错误”
  13. Qt视频直播软件--项目实战(Day8)
  14. 北京航空航天大学计算机考研信息汇总
  15. python 从大到小循环_Python循环小实例----猜大小
  16. 暑假提高7--G - 手游大佬 (细节处理模拟)
  17. 湖北2021高考成绩排序查询,2021年湖北高考成绩排名查询系统 湖北高考位次排名表...
  18. Kubernetes(k8s)之Volume(卷)
  19. MySQL初级篇 | 修改MySQL密码的四种方法(适合初学者)
  20. chm、html文件转换为PDF文件(已解决)

热门文章

  1. python测试代理IP地址
  2. 速读《构建之法:现代软件工程》提问
  3. 深入了解EJB (一) EJB在java世界的地位
  4. Linux网络配置命令
  5. 一起谈.NET技术,云计算和数据
  6. oracle 三表关联更新_Oracle数据库入门
  7. C++拷贝构造函数、深拷贝、浅拷贝
  8. 边缘计算 — 商业模式
  9. C 语言编程 — 程序的装载与运行
  10. 写个测试程序测试下,单片机使用浮点型数效率有多低