你的位置:首页 > 软件开发 > Java > JavaScript“尽快失败”的原则

JavaScript“尽快失败”的原则

发布时间:2016-10-03 15:00:11
我第一次听说编码原则中有“尽快失败”这一条时,觉得很奇怪,为什么代码要失败?应该成功才对呀。但事实上,当代码在遇到错误的时候应该尽快的终止。为了检测各种状态,我们需要频繁的创建if语句与条件分支,而这些条件检测的结果不是成功就是失败(tru ...

我第一次听说编码原则中有“尽快失败”这一条时,觉得很奇怪,为什么代码要失败?应该成功才对呀。但事实上,当代码在遇到错误的时候应该尽快的终止。为了检测各种状态,我们需要频繁的创建if语句与条件分支,而这些条件检测的结果不是成功就是失败(true&&false)。之所以会有这么多的条件检测语句,是因为如果不在构建过程中植入这些监测点(checkpoint),那么浏览器内核会执行很多无用的代码,并占用许多宝贵的CPU性能和处理时间,拖慢网站加载速度。

根据那些判断结果为false的检测语句块放置位置的不同,有些情况下,一旦发生错误就迅速中止,而另外一些情况下则会在执行了很长一段时间的无用代码后才终止。如果我们在遍历数组之前先检测其长度,或是在处理DOM时先看看有没有我们需要的class属性,那么就可以在不满足条件时立刻中止代码的执行。因为遍历数组信息与解析DOM都是相当耗时的工作,所以最好是在执行这些任务之前先检测一下,在满足于执行条件时及早终止。正是基于上述原因,所以我才要提倡那种“尽快失败”的代码。

 这是我的示例代码:

 1 //创建在遇到错误时尽快终止的代码 2 (function Salad(totalSlices,peopleCount){  //我要创建一个沙拉函数,用来返回派对需要的总沙拉数量 3   "use strict"; 4  5   var fairness = totalSlices * peopleCount; 6  7   return fairness; 8 })(); 9 (function () {10   "use strict";11 12   var body = document.getElementsByTagName("body")[0],13     //我在此闭包函数中建立了一些变量,并将其传入salad函数以供计算14     15     partyStarter = "starlen",16     peopleCount = 18,17     Salad = 6,18     sliceCount = Salad * 3;19 20   if(peopleCount > 0 && Salad >0){21     //先检测一下我们的派对有没有人或沙拉,避免js消耗不必要的计算性能22     body.innerHTML += " '<p>'"+ partyStarter +","+ Salad(peopleCount,Salad) +" '</p>' "23   } else {24     body.innerHTML += "<p>参加聚会的人数或沙拉果盘不足!</p>"25   }26 27 })();

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:JavaScript“尽快失败”的原则

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。