不用if分支对同一个变量做判断的方法
对于多条件采用同一变量,取等判断的问题
if a == 1
else if a == 2
else if a == 3
首先,观感上优化,要把1,2,3
这种魔法数字,转化为枚举类型,用有含义的命名来规范,要比直接使用魔法数字好的多。
其次,性能上优化,把多if分支,改为hash方法,比如说用一张hashmap的key来存所有的1,2,3
,把1,2,3
执行的函数,分别写三个函数,把这三个函数的对象存在hashmap的value中,建立映射。
很多软件项目都喜欢用这样的设计方法,
但是这种方法很多情况下也有局限性 ,可能最终的性能优化只是自欺欺人,
把函数执行离散化的同时,也导致函数在内存上的分布更离散,在函数量很大的情况下,有可能导致CPU Cache Miss,需要从内存重新读入分页,导致进入操作系统内核态
每行不超过80个字符
打孔纸带的时代,上限就是80个字符