原文:如何优化代码中大量的if/else,switch/case?

前言 随着项目的迭代,代码中存在的分支判断可能会越来越多,当里面涉及到的逻辑比较复杂或者分支数量实在是多的难以维护的时候,我们就要考虑下,有办法能让这些代码变得更优雅吗 正文 使用枚举 这里我们简单的定义一个表示状态的枚举。 那么我们在使用的时候就可以直接通过枚举调用了。 优雅的解决了下面代码赋值的方式 善用 Optional 在项目中,总少不了一些非空的判断,可能大部分人还是如下的用法 这时候 ...

2019-04-30 10:02 2 3127 推荐指数:

查看详情

switch case 大量情况下的代码优化

业务场景:设备和客户端按照通讯协议进行通信,设备会有大量的消息送到到客户端,然后客户端收到消息并进行解析,根据不同的消息类型进行区分处理。 如果不考虑设计模式,不考虑易扩展性和易维护性,通常我们的代码会是如下情况: 如果协议中的设备消息有100种,那我们自然就当前switch里面 ...

Sat May 20 01:21:00 CST 2017 0 1895
if elseswitch case 总结

关于两者的优缺点如下: 1.if else的优缺点 缺点:效率低(相对于switch) 优点:使用灵活,代码空间小 2.switch的优缺点 缺点:不够灵活,switch仅支持 int,char,unsigned char 等基本类型;代码空间大。 优点:代码结构 ...

Mon Aug 13 18:31:00 CST 2018 0 3618
使用反射+策略模式代替项目中大量switch case判断

我这里的业务场景是根据消息类型将离线消息存入mongoDB不同的collection中。其中就涉及到大量的分支判断,为了增强代码的可读性和可维护性,对之前的代码进行了重构。 先对比一下使用反射+策略模式前后的代码: 重构前: 重构后: 我们可以看到重构前的代码充斥着大量的分支 ...

Mon Sep 11 23:13:00 CST 2017 5 3396
Java代码消除switch/case,if/else语句的几种实现方式

转自:https://my.oschina.net/stefanzhlg/blog/372413 我们在平时的编码中,我们经常会遇到这样的情况: 使用过多的switch/case 或者 if else 语句,非常不爽,也违背了面向对象的原则: 或相应的switch case代码 ...

Thu Sep 13 22:28:00 CST 2018 0 1644
【转】消除代码中的 if-else/switch-case

在很多时候,我们代码中会有很多分支,而且分支下面的代码又有一些复杂的逻辑,相信很多人都喜欢用 if-else/switch-case 去实现。做的不好的会直接把实现的代码放在 if-else/switch-case 的分支之下: switch ( type ) { case ...

Wed Apr 17 07:43:00 CST 2019 0 568
多重if elseswitch case的区别

int main(void) { int id; scanf_s("%d",&id); switch(id) { case 2: printf("John\n"); break; case 13: printf("Mary\n ...

Sat Oct 13 09:38:00 CST 2018 0 1859
关于Switch Case优化

switch case虽然是代替if else而出现的,并不好维护,有时候使用switch还不如使用if else。 但没有别的东西能代替switch case了吗?答案当然是否定的,现在就有两种方式。 先看一下使用switch的例子: 设定一个函数,传进来num为1,2,3,4分别返回 ...

Wed Oct 30 00:16:00 CST 2019 0 389
if-elseswitch-case哪个效率更高?

在进行编程的时候,if-elseswitch-case都可用于条件判断,这篇文章写一写两者的区别。 这里从汇编角度和大家一起分析一下。在网站:https://godbolt.org/上可以查看汇编代码。 1、switch-case 下面这张图是switch-case,左半部分是C代码 ...

Thu Nov 18 06:45:00 CST 2021 0 854
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM