前言 随着项目的迭代,代码中存在的分支判断可能会越来越多,当里面涉及到的逻辑比较复杂或者分支数量实在是多的难以维护的时候,我们就要考虑下,有办法能让这些代码变得更优雅吗? 正文 使用枚举 这里我们简单的定义一个表示状态的枚举 ...
业务场景:设备和客户端按照通讯协议进行通信,设备会有大量的消息送到到客户端,然后客户端收到消息并进行解析,根据不同的消息类型进行区分处理。 如果不考虑设计模式,不考虑易扩展性和易维护性,通常我们的代码会是如下情况: 如果协议中的设备消息有 种,那我们自然就当前switch里面会包含 个case,每个case之间又会还有相关的业务代码。 真实代码片段是这样的 这个switch里面包含了 行代码,如果 ...
2017-05-19 17:21 0 1895 推荐指数:
前言 随着项目的迭代,代码中存在的分支判断可能会越来越多,当里面涉及到的逻辑比较复杂或者分支数量实在是多的难以维护的时候,我们就要考虑下,有办法能让这些代码变得更优雅吗? 正文 使用枚举 这里我们简单的定义一个表示状态的枚举 ...
switch case虽然是代替if else而出现的,并不好维护,有时候使用switch还不如使用if else。 但没有别的东西能代替switch case了吗?答案当然是否定的,现在就有两种方式。 先看一下使用switch的例子: 设定一个函数,传进来num为1,2,3,4分别返回 ...
使用PHP内置函数的性能优劣 尽可能少用魔法函数 抑制符@会产生额外开销 优化点:合理使用内存,利用unset()及时释放不使用的内存(unset()出现注销不掉的情况) 避免在循环内做运算 减少计算密集型业务 务必使用带引 ...
1、减少Jquery使用 处理dom遍历和复杂的脚本场景时,jquery可能有很大的帮助,不过在处理简单的、直截了当的代码场景就会迟缓。尽可能的避免jquery对象创建,尤其在循环中。 2、优化循环 用被缓存的数组长度 3、if/else和swith语句 ...
开篇 相信有过编码经验的人都知道,程序的正常运行,只是最基本的要求。更多的,还要考虑程序的性能,运行效率,组织结构,和重用性等等。 今天将简单的讨论一下如何优化程序性能。 要写出高效的程序,可能多数初学者想到的是在程序中用合适的算法和数据结构。这确实是一中提高程序性能的主要方法 ...
本文主要讲并行优化的几种方式, 其结构如下: 锁优化 减少锁的持有时间 例如避免给整个方法加锁 改进后 减小锁的粒度 将大对象,拆成小对象,大大增加并行度,降低锁竞争. 如此一来偏向锁,轻量级锁成功率提高. 一个简单 ...
1、展示一下order by 在上亿级别数据量有多慢 对于clickhouse来说,当表的基础大到亿级别, 如果做查询后,在做order by 速递是非常慢的; 比如我有一张表有3亿条数据,表结构是: ENGINE = MergeTreePARTITION ...
1.合理使用索引索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下:●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。●在频繁进行排序或分组 ...