目录

代码性能指标

健壮性

可读性

可复用性

可扩展性


代码性能指标

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

健壮性

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

目的:

(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. 美容院会籍管理,看着简单,其实很复杂
  2. 美团点评基于 Flink 的实时数仓平台实践
  3. 全球及中国汽车零部件信息化行业需求预测与竞争战略规划报告2022年
  4. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...
  5. leetcode-260.只出现一次的数字 III 解法
  6. ebs oracle 落伍了吗_向不了解oracle EBS的人介绍Oracle EBS
  7. 201521123087 蒋勃超 软工作业
  8. linux改变时间 find,Find命令查找最近几天修改的文件
  9. Java开发全套学习!java微服务网关
  10. MYSQL学习笔记2--mysql 静态和动态plugin
  11. 开启我的segmentfault之旅
  12. eclipse添加windowsBuilder的方法
  13. Go 语言网络库 getty 的那些事
  14. LDT面试:实验室开发诊断试剂监管模式(Laboratory Developed Test,LDT)
  15. spacy实体关系抽取_使用spacy从Wikipedia文章中命名实体识别
  16. S32V234专业级AVM全景+ADAS解决方案
  17. Android项目实践(四)——音乐播放器APP
  18. “拿下”家乐福中国,苏宁易购全场景零售进入新阶段
  19. 如何通过区块链钱包解决「数据确权」难题
  20. CSS设置多张网络图片垂直居中展示

热门文章

  1. Java基础IO流概述、字符流、字节流、流操作规律、File类、Properties类、打印流、序列流
  2. mysql查看当前表字符集_mysql 字符集设置查看
  3. GoLang(一)--Zap框架
  4. 手写分页器组件(vue2)
  5. Oracle 修改监听端口号1521
  6. Ubuntu22.04网卡丢失
  7. 选出一周内出现某天从跌停价开盘到涨停价收盘的股票公式
  8. java数据库编程(二) 数据库操作
  9. ASP.NET 的特点
  10. shell操作mysql数据库 基本命令