七步写出优秀的JS代码

转载 2015年11月18日 11:47:33

原文地址 http://blog.csdn.net/lihongxun945/article/details/30998539

很好的一篇文章,全是干货,总结和翻译了此文。


1,代码


使用严格模式:
在函数中添加 “use strict”; 声明,严格模式的说明见 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode

模块化:
每个模块来封装自己的方法实现,避免全局变量泄露,并且可以更好地组织代码接口,可以方便地按模块进行单元测试。
常用的模块加载器有:requires(requirejs.org),seajs(seajs.org),browserify(browserify.org)等。

统一的编码规范:
如:Google Javascript Style Guide http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml

使用版本控制系统:
使用版本控制,方便多人合作。除了一些老的系统,基本上都是用 git,代码可以直接托管到github(http://jshint.com/)


2,文档

要把文档提高到和源码同样的重视程度。
写好函数的块级注释,然后可以使用 YUIDoc(http://yui.github.io/yuidoc/) 或者 JSDoc(http://usejsdoc.org/) 来生成API文档。
用 Markdown (http://daringfireball.net/projects/markdown/)来生成更详细更长的说明文档。


3,语法检查

使用 jsHint(http://jshint.com/), 或者 jsLint(http://jslint.com/)来检查代码。
这样可以非常有效的避免语法层面的错误,比如没有使用严格模式、忘记声明变量、括号不匹配等。

4,单元测试

前面提到了模块化,模块化好的代码可以非常容易按模块编写单元测试。
详尽的单元测试可以极大提升代码的健壮性。
可以用 jasmine(http://jasmine.github.io/)或者 Qunit(http://qunitjs.com/)等测试框架来编写单元测试。
有了单元测试之后,还可以使用BrowserStack(http://browserstack.com/)或者SauceLabs(http://saucelabs.com/)等工具在不同的浏览器下跑测试,JS的浏览器兼容性问题再也不用担心了。

5,Measure

不知道应该怎么翻译,“测量”?
可以使用代码覆盖工具检查单元测试的覆盖率,保证100%的单元测试覆盖率。
使用函数复杂性测试工具 http://netm.ag/halstead-249, 他可以通过检查函数体中包含的循环、分支、函数调用等来判断函数的复杂程度。复杂度越底的函数越容易理解和维护。命令行工具plato(http://github.com/es-analysis/plato)可以用来生成代码的复杂性报告,可以帮助判断哪些函数过于复杂需要优化。

6,自动化

基于Grunt的自动化构建。强大的Grunt可以实现几乎所有的构建操作,包括:生成文档、语法检查、合并编译压缩、单元测试、复杂性测试,甚至可以自动帮你刷新页面。有了grunt,在修改源码之外的操作全部可以自动化进行。
Grunt 官网:gruntjs.com

7,处理异常

使用 try catch来处理异常,确保非致命的错误发生时不会影响整个程序的运行。

对照以上七步,看看自己的代码离“优秀的JS代码”还有多远。

七步写出优秀的JS代码

原文地址:http://www.creativebloq.com/netmag/7-steps-better-javascript-51411781?utm_source=javascriptweek...
  • lihongxun945
  • lihongxun945
  • 2014年06月15日 16:52
  • 4065

关于写出有效率的js代码的一点心得(1)

在看过许多大牛们的文章之后,大致对js的原理等有了一定的了解,现在来抛个砖希望各位点评。 要写出有效率的js代码先要牢记这一点,始终声明局部变量。全局变量在js中非常容易创建,然而坏处是会污染公共命...
  • sdouara13
  • sdouara13
  • 2015年04月22日 18:59
  • 342

写出高性能的js代码

写出高性能的js代码 一、加载运行 javascript在浏览器中的性能,大概是开发者面对最重要的问题。因为javascript的阻塞特征,也就是在javascipt运行的过程中,其他的事情并...
  • qq_24073885
  • qq_24073885
  • 2017年03月21日 22:31
  • 1870

清晰理解业务分析——《七步掌握业务分析》读书笔记(一)

第一章 清晰理解业务分析 业务分析涉及: 确定业务问题和商业机会引导干系人的需要并分析制约因素分析干系人的需要以定义解决方案的需求分析和验证潜在和实际的解决方案管理“产品”或者需求范围 ...
  • JUNEZHANG2015
  • JUNEZHANG2015
  • 2017年10月11日 09:26
  • 567

优秀的100段js原生代码上

// 100段常用的js 1、原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; ...
  • z10160
  • z10160
  • 2014年03月20日 17:44
  • 970

写出健壮的js代码

代码写的好并不容易,做web开发一年了,一直写js都是比较的松散,总觉得很乱,没有什么逻辑性,代码的健壮性也不高 这里说说如何把js代码的健壮性提升起来 1. 就是对参数进行校验,...
  • baixiaoshi
  • baixiaoshi
  • 2015年07月03日 20:55
  • 812

如何写出可维护面向对象的JS?

这是个问题,平常也没思考过,被问到了,一时也没理清楚自己的思路,当时只蹦出namespace这么个想法;  平时的工作跟javascript打交道的时候一般是做一些页面里的交互体验增强,基本上全是用j...
  • jucrazy
  • jucrazy
  • 2011年07月24日 23:28
  • 2022

高大上的优质JS代码写法

经常看到一些JavaScript的代码脏乱得无法理解,到处都是属性和方法,或者一个循环套着一个循环。但如果使用面向对象就能很好的理清代码,并方便理解和修改代码。如果你不希望自己的代码只有上帝理解的话,...
  • liuhaozcx
  • liuhaozcx
  • 2014年03月28日 10:57
  • 639

如何写出高质量的代码?

读书笔记:《剑指offer》思先于行在实际的软件开发周期中,设计的时间通常不会比编码的时间短。我们先不要急于动手写代码,而是一开始仔细的分析和设计。与其写出一段漏洞百出的代码,倒不如仔细分析再写出鲁棒...
  • ansenamerson
  • ansenamerson
  • 2017年08月04日 00:10
  • 476

如何写出好的代码?

设计 1、优雅需要付出代价。从短期利益来看,对某个问题提出优雅的解决方法,似乎可能花你更多的时间。但当它终于能够正确执行并可轻易套用于新案例中,不需要花上数以时计,甚至以天计或以月计的辛苦代价时...
  • he90227
  • he90227
  • 2015年05月07日 09:52
  • 708
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:七步写出优秀的JS代码
举报原因:
原因补充:

(最多只允许输入30个字)