七步写出优秀的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代码”还有多远。

相关文章推荐

写出优秀的CSS代码的13个建议

很多的前端工程师都对写出优秀的CSS代码感到困惑,因为他们既想让CSS的结构极致精简,又希望写出的代码不会浪费,所以总是顾此失彼。 其实,CSS写起来并不难,但在大型项目中,就变得难以管理,特别是不...

几点建议帮你写出简洁的JS代码

我决定为初学者写一篇博客来介绍一些常见编程技巧,这些技巧可以帮助你写出更加规范,容易维护的代码。 1. 常量 这个问题哦不仅仅是写JavaScript的开发者们会遇到,在所有的开发语言...

如何写出漂亮的js代码

javascript代码和其他脚本语言一样,都要合理的组织好,不然到最后js代码也是比较乱的。  我把JS的组织分成了三个阶段,看看您现在属于哪个阶段。  初级阶段:JS代码从头顺序写到尾,过程化  ...

几点建议帮你写出简洁的JS代码

译者按: 规范的代码可以有效避免代码bug,fundebug才会报警少一点! 原文: Tips for Writing Cleaner Code 译者: Fundebug 为了保证可读性,本文采...

写出高性能的js代码

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

如何写出漂亮的js代码

javascript代码和其他脚本语言一样,都要合理的组织好,不然到最后js代码也是比较乱的。  我把JS的组织分成了三个阶段,看看您现在属于哪个阶段。  初级阶段,JS代码从头顺序写到尾,过程化...

如何写出高效可维护并且规范的js代码

设计原则: 1.原子思想:即每个function就做一件事; 2.归纳思想:将同一类的操作,全部整合到一起; 3.方便维护:可以便于后来人进行快速维护; 4.方便拓展:即可以根据每个不同的项目进行不...

几点建议帮你写出简洁的JS代码

规范的代码可以有效避免代码bug,fundebug才会报警少一点!

ECMAScript 6,令Node.js也可以写出同步执行的代码(上)

从MOsky的博客阅读此文 引言 本人学习Node.js已有两周了,有点心得,写成文章,一方面便于今后自己查阅,另一方面巩固自己所学。如有错误,请诸位赏脸批评指教。 Node.j...

每天写出好代码的5个建议——你也可以变优秀

成为一个优秀的程序员和成为其他优秀的专业人员一样,需要尽可能多的做一些有质量的工作。有句很流行的话可以总结:做,正确做事,立马就做。(Do it. Do it right. Do it right n...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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