项目中尽量不要过多使用if-else,可能导致设计复杂,代码可读性差,并且可能导致重构困难。
如果可以的话执行用if而不接上else

1.执行用多段if,不要接else

在简单的判断中:
if(a == 1) return"a";
if(a == 2) return"b";
return"c";
由于有return直接返回,那就根本不需要else了。

2.通过对前提条件的检查减少else使用

先排除最大范围的非符合值再使用直接用if判断少量值。

3.使用字典匹配键值对

给出键和值,你就可以将值存储在Dictionary对象中。一旦该值被存储,就可以通过它的键来获取它。所以使用字典天然具有if的判断效果。

减少if else的使用相关推荐

  1. 最大限度地减少块输出中间结果的计算和存储

    最大限度地减少块输出中间结果的计算和存储 Expression Folding 表达式折叠 表达式折叠优化代码,以最小化块输出处中间结果的计算,并将这些结果存储在临时缓冲区或变量中.启用"表 ...

  2. Rocksdb 通过posix_advise 让内核减少在page_cache的预读

    文章目录 1. 问题排查 确认I/O完全/大多数来自于rocksdb 确认此时系统只使用了rocksdb的Get来读 确认每次系统调用下发读的请求大小 确认是否在内核发生了预读 2. 问题原因 内核预 ...

  3. 减少Building 'Xxx' Gradle project info等待时间

    转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6640279.html 从Github上看到好的Demo想要Download下来学习.导入到Android ...

  4. C++拾趣——使用多态减少泛型带来的代码膨胀

    泛型编程是C++语言中一种非常重要的技术,它可以让我们大大减少相似代码编写量.有时候,我和同事提及该技术时,称它是"一种让编译器帮我们写代码的技术".(转载请指明出于breakso ...

  5. MIT开发新加密货币,用户所需数据比比特币减少99%

    MIT的研究人员开发了一种新的加密货币,大大减少了用户加入网络和验证交易所需的数据,与当今流行的加密货币相比,最高可达99%.这意味着网络更具扩展性. 像比特币之类流行的加密货币都是构建于区块链上的网 ...

  6. mysql减少锁等待_降低锁竞争 减少MySQL用户等待时间

    [IT168 技术]通过锁机制,可以实现多线程同时对某个表进行操作.如下图所示,在某个时刻,用户甲.用户乙.用户丙可能会同时或者先后(前面一个作业还没有完成)对数据表A进行查询或者更新的操作.当某个线 ...

  7. 伯克利新无监督强化学习方法:减少混沌所产生的突现行为

    作者 | Glen Berseth 译者 | Arvin 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]所有生命有机体都在环境中占据一席之地,使它们在周围不断增加的熵 ...

  8. 接口优化:Redis预减库存,减少对数据库访问方案

    欢迎关注方志朋的博客,回复"666"获面试宝典 Redis预减库存:主要思路减少对数据库的访问,之前的减库存,直接访问数据库,读取库存,当高并发请求到来的时候,大量的读取数据有可能 ...

  9. Java 8 中的方法引用,轻松减少代码量,提升可读性!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 1. 引言 Java8中最受广大开发中喜欢的变化之一是因为 ...

  10. OpenAI魔改大模型,参数减少100倍!13亿参数InstructGPT碾压GPT-3

      视学算法报道   编辑:好困 拉燕 [新智元导读]文能吟诗一首,武能「打劫邻居」,只需百分之一的参数量,InstructGPT包您满意. 2020年5月,OpenAI推出了参数量高达1750亿的语 ...

最新文章

  1. 编写更少量的代码:使用apache commons工具类库
  2. 为什么通过微服务的方法构建应用程序?
  3. 测试机型不够?把玩家反馈过的问题机型,都测个遍
  4. [翻译] ObjectAL for iPhone and Mac(持续更新)
  5. python中dump函数_python中实现php的var_dump函数功能
  6. 微软正在用实际行动告诉你: 拥抱开源,微软是认真的
  7. MongoDB索引,性能分析
  8. iOS中确认网络的方法
  9. php对象合并,【面向对象的PHP】之模式:组合
  10. Lost Found
  11. Arcmap计算土方量教程
  12. MySQL的安装(完整版)
  13. 图扑案例合集丨用赛博朋克语言诠释数字孪生
  14. SPOJ PHT Pigeonhole Tower 预处理+二分 || 找规律
  15. oracle按照拼音排序,ORACLE根据中文拼音首字母排序、取得中文拼音首字母函数
  16. EasyCVR如何实现视频监控的大屏播放?
  17. 网络编程培训之六 使用原始套接字实现Ping
  18. Three.js物理材质MeshStandardMaterial和MeshPhysicalMaterial
  19. Altium Designer规则
  20. Python使用property函数为类创建管理方法属性

热门文章

  1. poj 3281(最大流)
  2. hdu4821 字符串hash
  3. 给创新工场求职者的一封信
  4. 代码审计之CVE-2018-7600-Drupal远程代码执行漏洞-Render API
  5. Linux_Environment_Red Hat 卸载OpenJDK ,安装Orcl JDK 及 NTFS-3g
  6. 10.14 将n个数按输入输出顺序的逆序排列,用函数实现
  7. Java 接口小总结;
  8. 日期控件的点击事件,在js中添加callback属性,不在html中直接添加
  9. 解决redhat的未注册问题
  10. linux下编译软件通用方法(memcached为例)