目录

代码性能指标

健壮性

可读性

可复用性

可扩展性


代码性能指标

代码性能指标包括:健壮性、可读性、可复用性、可扩展性。

健壮性

健壮性就是代码抗击风险的能力。

目的:

(1)避免和程序无关的因素,导致代码报错;

比如:调用方法时,少传了参数

function add(num1,num2){return num1+num2
}var sum=add() //少传了参数,会返回NaN

(2)快速给出问题反馈

(3)不至于因为非必要性bug,而导致程序执行中断。

比如:vue中引用第三方的库,第三方错误导致的错误

如何保障健壮性:(1)参数做好默认值,做好检测;(2)程序做好意外情况处理。

function a(type) {var type = type || "data1"; //给默认值var data = {data1: [1, 2, 3],data2: [4, 5, 6],};return data[type][0];
}
var s = a("data2");
console.log(s);
function add(num1, num2) {if (typeof num1 != "number" || typeof num2 != "number") {throw new Error("num1 or num2 must be a number");}return num1 + num2;
}var sum = add(); //少传了参数,会返回NaN

深数据结构给出判断:mes.arr&&mes.arr[0]&&mes.arr[0].title

可读性

可读性就是代码阅读起来很清楚

目的:(1)代码结构清晰;(2)他人可以看懂你的意思

可读性的做法:

(1)优化丑陋的结构;

典型丑陋结构比如:

①if-else分支过长-利用策略模式、状态模式优化;

②分支套分支

if(a){if(b){if(c){...}}
}
if(a && b && c){...} //利用&&或||联合逻辑符优化

③回调地域-promise,async

(2)遵循命令规范;

常量全大写;类名首字母大写;普通的变量和方法首字母小写,驼峰命名addAndMinus(){};局部变量下划线开头;遵循语义化。

(3)注释

可复用性

代码就像积木一样,哪里需要去哪里。

目的:重复操作不用写第二遍;减少代码体积

可复用性的做法:桥接模式、享元模式、函数式编程、低耦合、高内聚。

可扩展性

代码应对以后的变更,可以不用大规模改动

目的:增加新需求,不用变动现有结构;增加新功能,最好只需要写新功能就好了。

可扩展性的做法:留出扩展接口;模块低耦合、高内聚;良好的模块组织;良好的扩展方案。

javaScript---代码性能指标相关推荐

  1. 翻译-高质量JavaScript代码书写基本要点(转载)

    by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=1173 原文作者:S ...

  2. javascript 代码_如何使您JavaScript代码保持简单并提高其可读性

    javascript 代码 by Leonardo Lima 莱昂纳多·利马(Leonardo Lima) 如何使您JavaScript代码保持简单并提高其可读性 (How to keep your ...

  3. javascript 代码_代码简介:2016年JavaScript的现状

    javascript 代码 Here are three stories we published this week that are worth your time: 这是我们本周发布的三个值得您 ...

  4. js如何运行python代码_python中执行javascript代码

    python中执行javascript代码: 1.安装相应的库,我使用的是PyV8 2.import PyV8 ctxt = PyV8.JSContext() ctxt.enter() func = ...

  5. 优化javaScript代码,提高执行效率

    今天看完书,总结了一下可以如何优化 JavaScript . 1.合并js文件 为优化性能,可以把多个js文件(css文件也可以)合并成极少数大文件.跟十个5k的js文件相比,合并成一个50k的文件更 ...

  6. easyui treegrid 获取新添加行inserted_18行JavaScript代码构建一个倒数计时器

    有时候,你会需要构建一个JavaScript倒计时时钟.你可能会有一个活动.一个销售.一个促销或一个游戏.你可以用原生的JavaScript构建一个时钟,而不是去找一个插件.尽管有很多很棒的时钟插件, ...

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

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

  8. 移动web开发常用JavaScript代码(转)

    转载: http://mobile.51cto.com/web-321960.htm 1.如果网页是在iPhone或Android浏览器中查看,则在主体元素中添加"iPhone"或 ...

  9. silverlight 中javascript 代码与托管代码的互调用 以及一些思考

    silverlight 客户端javascript 代码与托管代码的互调用时比较用意义的同时,因为silverlight本身就是一个插件,如果两者之间不能进行相互的调用,对于web 上的一些特殊的功能 ...

  10. 移动网站开发中常用的10段JavaScript代码

    在开发移动网站过程中,有一些Javascript代码会经常用到.以下是10段常用的JavaScript代码.需要注意的是某几段代码需要jQuery mobile framework支持. 1.如果网页 ...

最新文章

  1. 拥抱高效、拥抱 Bugtags 之来自用户的声音(三)
  2. Android逆向进阶——让你自由自在脱壳的热身运动(dex篇)
  3. 算法-从先序遍历还原二叉树
  4. 界面之间是如何传值的
  5. 本地编译Hadoop2.8.0源码总结和问题解决(转自:http://blog.csdn.net/young_kim1/article/details/50324345)
  6. session 原理
  7. 关于字符串排序的别的规则
  8. P6282 [USACO20OPEN] Cereal S 思维
  9. [剑指offer]面试题第[35]题[Leetcode][第138题][JAVA][复杂链表的复制][暴力][HashMap][复制链表]
  10. 面向对象的接口类 以及鸭子类型
  11. 云上安全工作乱如麻,等保2.0来一下
  12. java集合之failfast机制
  13. 21.55万元起的“电影周边”!现代漫威联名钢铁侠车型开售
  14. Spring Cloud Spring Boot mybatis分布式微服务云架构(五)构建RESTful API
  15. Git检出指定的目录-稀疏检出
  16. java收集碎片_Thinking in Java 笔记碎片
  17. 远程连接 Mysql 失败的解决方法
  18. 吴恩达深度学习笔记 第二章作业1
  19. 企业网络管理员如何有效封杀QQ
  20. linux串口蜂鸣器报警电路,蜂鸣器报警电路图(简单介绍两种!)

热门文章

  1. 梦想太远,现实太近 2
  2. 24小时伦敦金走势图分析
  3. 阿里云kubernetes遭入侵pubg进程占用cpu资源100%解决方法
  4. linux打开文件夹安装,Linux Supervisor的安装与使用入门
  5. 就业信息追踪|基于Springboot+Vue开发实现就业信息追踪系统
  6. 系统服务器可以关机吗,服务器主机可以关机吗
  7. 浏览器手动设置cookies
  8. 多核系统内存假共享问题
  9. 阿里 weex--前端整合开源框架(记录)
  10. linux 修改文件内容sed,linux下通过sed命令直接修改文件内容