javaScript---代码性能指标
目录
代码性能指标
健壮性
可读性
可复用性
可扩展性
代码性能指标
代码性能指标包括:健壮性、可读性、可复用性、可扩展性。
健壮性
健壮性就是代码抗击风险的能力。
目的:
(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---代码性能指标相关推荐
- 翻译-高质量JavaScript代码书写基本要点(转载)
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=1173 原文作者:S ...
- javascript 代码_如何使您JavaScript代码保持简单并提高其可读性
javascript 代码 by Leonardo Lima 莱昂纳多·利马(Leonardo Lima) 如何使您JavaScript代码保持简单并提高其可读性 (How to keep your ...
- javascript 代码_代码简介:2016年JavaScript的现状
javascript 代码 Here are three stories we published this week that are worth your time: 这是我们本周发布的三个值得您 ...
- js如何运行python代码_python中执行javascript代码
python中执行javascript代码: 1.安装相应的库,我使用的是PyV8 2.import PyV8 ctxt = PyV8.JSContext() ctxt.enter() func = ...
- 优化javaScript代码,提高执行效率
今天看完书,总结了一下可以如何优化 JavaScript . 1.合并js文件 为优化性能,可以把多个js文件(css文件也可以)合并成极少数大文件.跟十个5k的js文件相比,合并成一个50k的文件更 ...
- easyui treegrid 获取新添加行inserted_18行JavaScript代码构建一个倒数计时器
有时候,你会需要构建一个JavaScript倒计时时钟.你可能会有一个活动.一个销售.一个促销或一个游戏.你可以用原生的JavaScript构建一个时钟,而不是去找一个插件.尽管有很多很棒的时钟插件, ...
- 如何优雅的编写 JavaScript 代码
几乎每个大一点公司都有一个"运行时间长,维护的工程师换了一批又一批"的项目,如果参与到这样的项目中来,大部分人只有一个感觉--"climb the shit mounta ...
- 移动web开发常用JavaScript代码(转)
转载: http://mobile.51cto.com/web-321960.htm 1.如果网页是在iPhone或Android浏览器中查看,则在主体元素中添加"iPhone"或 ...
- silverlight 中javascript 代码与托管代码的互调用 以及一些思考
silverlight 客户端javascript 代码与托管代码的互调用时比较用意义的同时,因为silverlight本身就是一个插件,如果两者之间不能进行相互的调用,对于web 上的一些特殊的功能 ...
- 移动网站开发中常用的10段JavaScript代码
在开发移动网站过程中,有一些Javascript代码会经常用到.以下是10段常用的JavaScript代码.需要注意的是某几段代码需要jQuery mobile framework支持. 1.如果网页 ...
最新文章
- 美容院会籍管理,看着简单,其实很复杂
- 美团点评基于 Flink 的实时数仓平台实践
- 全球及中国汽车零部件信息化行业需求预测与竞争战略规划报告2022年
- openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...
- leetcode-260.只出现一次的数字 III 解法
- ebs oracle 落伍了吗_向不了解oracle EBS的人介绍Oracle EBS
- 201521123087 蒋勃超 软工作业
- linux改变时间 find,Find命令查找最近几天修改的文件
- Java开发全套学习!java微服务网关
- MYSQL学习笔记2--mysql 静态和动态plugin
- 开启我的segmentfault之旅
- eclipse添加windowsBuilder的方法
- Go 语言网络库 getty 的那些事
- LDT面试:实验室开发诊断试剂监管模式(Laboratory Developed Test,LDT)
- spacy实体关系抽取_使用spacy从Wikipedia文章中命名实体识别
- S32V234专业级AVM全景+ADAS解决方案
- Android项目实践(四)——音乐播放器APP
- “拿下”家乐福中国,苏宁易购全场景零售进入新阶段
- 如何通过区块链钱包解决「数据确权」难题
- CSS设置多张网络图片垂直居中展示