一个利用正则表达式进行代码重构,去除冗余代码的例子

refact之前:大量的重复代码

refact之后:用map消除了重复代码。

现在的分支里每次执行检查都要先 var usRegx = /XXXX/. 实际上通过字面量定义了一个正则表达式对象,开销比定义一个String大。其实没必要每次都定义,可以把map定义在controller的一个全局属性上。
执行这段代码就可看出字符串常量和正则表达式字面量的性能差异:

var N = 100000000;
console.time("normal string");
for( var i = 0; i < N; i++){
var a = "a";
}
console.timeEnd("normal string");

console.time("regular exp");
for( var i = 0; i < N; i++){
var b = /^[0-9]{5}$|^[0-9]{5}-[0-9]{4}$/;
}
console.timeEnd("regular exp");

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

原文地址:https://www.cnblogs.com/sap-jerry/p/12388915.html

时间: 2024-10-13 09:34:57

一个利用正则表达式进行代码重构,去除冗余代码的例子的相关文章

word表格转html后去除冗余代码

word可以另存为html文件,通过这个功能,可以快速实现网页展示word内容,特别是表格的编辑,它包含tr.td.th.rowspan.colspan等内容,直接写比较繁琐. 但word转换过来的html默认是带有很多格式代码,那么如何去除这些冗余代码,只保留主内容呢? 本来是打算从网上找工具的,但发现没有现成的,一般都是推荐用工具的文本替换来去除,这样不能复用.因此,本人采用nodejs写了一小段代码,来去除冗余代码. 主要思路是: nodejs读取html文件的文本内容 用substrin

[.net]利用正则表达式过滤字符串中的HTML代码

01.<span style="white-space: pre;"> </span>/// <summary> 02. /// 过滤字符串中的html代码 03. /// </summary> 04. /// <param name="Str">传入字符串</param> 05. /// <returns>过滤后的字符串</returns> 06. public sta

(一)建筑物多边形化简系列之去除冗余点

制图综合和建筑物数据处理等都涉及到建筑物多边形的化简.制图综合中,由于比例尺的变小,建筑物在小比例尺地图上所占面积变小,这意味着建筑物图形的形状精度也有一定的损失,为了更好地表示原有建筑物的特征(面积.图形和方向),需要对建筑物多边形进行化简.另外,从遥感影像提取的建筑物矢量数据需要经过图形化简等一系列操作才能作为可使用的数据. 由于本人最近在进行建筑物数据处理的项目,遇到了较多的问题,同时也收获了很多知识.所有打算写一个建筑物处理的系列博客. 首先明确,矢量数据结构中,建筑物多边形是由一些列环

关于代码重构

最近几天实习做需求,很多都是代码优化,代码重构方面的,有必要阅读相关的文章或书籍,整理整理形成点小方法论指导受用. 相关不错的文章:代码重构之道 代码重构方向原则指导 重构代码的7个阶段 书籍——<重构:改善既有代码的设计> 可以在哪些方面对代码进行重构: 1.重命名:对类,接口,方法,属性等重命名,以使得更易理解 2.抽取代码:将方法内的一段代码抽取为另一个方法,以使得该段代码可以被其他方法调用,这是重构中很重要很常用的,此举可以极大的精炼代码,减少方法的代码行数 3.封装字段:将类的某个字

QT之计算器代码重构

首先我们来讲讲为什么要进行代码重构?在一些大的项目中,代码重构是一个必不可少的步骤.因为项目大了,代码也就多了,后期的维护将会很难,所以我们要适当的进行代码重构,让代码的可复用性提高,使软件的设计和架构更加合理. 代码实现和代码重构有什么不同呢?代码实现的重点是功能的实现,而代码重构则是在实现功能的基础上进行再次优化,以提高代码质量. 那么什么样的代码需要重构呢?依据以往的项目开发经验来看呢,当发现项目中的重复代码越来越多时.代码功能越来越不清晰时.代码离设计越来越远时等,那么这时我们就该进行代

代码重构的必要性分析及实施建议

代码重构在软件开发过程中,是一项重要非紧急的工作.但大多数情况下,人们都会因为其非紧急,而忽略其重要性.等到代码重构演变成重要且紧急的工作时,一般就只有放弃了,因为由于长期的技术欠债,此时代码已经变得无法扩展,成为一堆僵死的代码. 代码重构的重要性 代码重构是为了使代码具有很好的可读性.可维护性.可扩展性.可重用性. 为什么要进行代码重构? 代码在演化过程中,会由于各种不同的原因,不断产生bad smell.如果不及时清理,bad smell会不断积累,代码逐渐腐化,最终导致代码不可用. 代码腐

批量去除Teleport Pro整站下载文件冗余代码

teleport pro tppabs标签批量删除 teleport pro tppabs标签批量删除 使 用Teleport Pro下载的网页代码中包含了很多垃圾代码,比如下载的html网页代码中会出现tppabs标签,而且还会将所有的href标签中加入了很多垃圾代码, 在css会加入了tpa标签,这些都是冗余代码,可以将其全部删除,但是由于代码太多,我们不可能一个个删除,因此可以使用Dreamweaver的查找 /替换工具中的正则表达式来进行替换.1.替换tppabs标签,使用Dreamwe

DW快速去除tppabs冗余代码

对于刚刚开始学习网站建设的朋友来说,网页的设计与布局也是一个困难的过程.那么大家可能都有这样的想法:我看到一个不错的网站,我可不可以用它的网页呢?答案当然是可以的.但是这种方法仅供学习,切勿用于商业用途(侵犯原作者的劳动成果,你懂的).这里涉及到两个软件,一个是teleport pro.而另一个当然就是DW(全称:dreamweaver)了.关于teleport pro,这是一个非常好用的整站下载软件,我一直都在用这个!使用过的朋友都知道下载完后所有的超链都被强行加了一句tppabs="...&

【iOS开发-44】通过案例谈iOS代码重构:合并、格式化输出、宏变量、利用数组字典存储数据,以及利用plist的终极知识

首先我们今天的案例就是如下5个页面通过上一张下一张来切换: (1)第一步,基本是以很傻很直接的方式来创建,这里用到的主要点有: --把对象变量设置为全局变量使得可以在其他方法中调用来设置它们的属性 --设置了一个全局变量index,默认是0,然后通过增加减少这个index值并结合switch来调用不同的数据. --利用先调用一次change方法初始化页面,使得页面定格在第一帧. --利用按钮的enabled属性来设置按钮是否可以被点击,然后结合index的值分别在第1张和第5张时分别把上一张和下