微信号:zte-wxcop

介绍:WXCOP(无限靠谱)研发实践社区——聚焦互联网时代可持续快速交付价值能力提升; 知识交流与传播,社区活动信息发布的平台

【搬新家,第二弹】如果程序员的世界里没有条件判断语句

2015-06-27 10:40 范璟玮


我相信假如要程序员评选出使用最多的关键字,那么if-elseswitch-case一定能够名列榜首。如果它们要从我们的世界中消失呢?我们还能完成原有的工作吗?



enum FruitType

{

APPLE = 0,

ORANGE = 1,

BANANA = 2,

MAX_FRUIT_TYPE = 3

};

unsigned int getPrice(FruitType fruitType)

{

switch(fruitType)

{

case APPLE:

return 5;

case ORANGE:

return 10;

case BANANA:

return 2;

default:

return 0;

}

}



以上代码是一个最为简单的例子,例子中不同的水果具有不同的价格这是if-elseswith-case典型应用场景,然而在不存在if-elseswitch-case的世界中以上代码可能会变成如下样子:



enum FruitType

{

APPLE = 0,

ORANGE = 1,

BANANA = 2,

MAX_FRUIT_TYPE = 3

};

unsigned int fruitPrice[MAX_FRUIT_TYPE] ={5,10,2};

unsigned int getPrice(FruitType fruitType)

{

return fruitPrice[fruitType%MAX_FRUIT_TYPE];

}



可以看到在第二段代码中当新增和修改水果价格时都不需要进行修改,虽然尚不完美,但我们得到了比第一段代码更为简洁的代码。似乎在我们有意识的控制条件语句的使用时,代码的质量也会有所提高。


我相信作为资深程序员的你一定有很多话想说,快来WXCOP网站扒一扒那些年你是怎么干掉if-else和switch-case的吧。请内网访问:http://10.89.168.135/bbs/topic/view/382


神马?你也有干货?太好了!欢迎COP小伙伴热情投稿,请发至wxcop@zte.com.cn,小编等你呦!


 
WXCOP无限靠谱 更多文章 WXCOP:"Hello World!" 【搬新家,第一弹】什么是影响力? 为什么这么久没发文章呢?原来是摊上大事啦! 回顾会的持续改进 使用Duilib在win下进行界面与代码分离设计
猜您喜欢 敬请注意:企业网D1Net公众平台迁移公告! TesterHome [性能专项] 系列公开课本周六继续开课! 从BAT面试题说起:前端面试解题思路 月薪13.5K——工厂打工哥的逆袭故事 苹果手机八个使用技巧,让你省电省钱省流量!