先举个例子:
玩家的还有数,普通玩家好友数为30,VIP玩家好友数为50,那么我们产生如下映射:
vipLevel friendsNum
0 30
1 50
很自然的想到了线性关系,那么:friendsNum = 30 +vipLevel * 20;
比较一下
swith (vipLevel)
{
0: friendsNum = 30; break;
1: friendsNum = 50;break;
default: XXXX;
}
哪种好呢?
个人还是喜欢后者,他是无脑的,往往是最安全的。往往策划案子的想法一天一个样子,而这个线性的关系也是我们自己定义的(除非确定了这种线性关系,并且我们约束关系以及变量的值不会改变。在写程序的时候很多的时候会遇到这种,有时候遇到三个数组的循环,我甚至愿意用三个不同的变量来表示他,而不是用一个数组。写程序往往看起来会有技巧的东西会给后面的工作带来莫大的理解和扩展的麻烦,效率的优化一定要建立在准备和容错的基础之上。