![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码的重构
lcc187
这个作者很懒,什么都没留下…
展开
-
4、内联变量
动机:变量的名字并不比表达式更具表现力,则可以将表达式去替换变量。原创 2019-12-15 21:03:16 · 1266 阅读 · 0 评论 -
3、提炼变量
动机:表达式有可能非常复杂而难以理解,这种情况下,局部变量可以帮助我们将表达式分解为比较容易管理的方式如下函数是计算商品的价格void price(order){ return order.quantity*order.itemprice-Max(0,order.quantity-500)*order.itemprice*0.05+min(order.quantity*orde...原创 2019-12-15 21:01:15 · 178 阅读 · 0 评论 -
1、提炼函数
定义:将代码提炼到一个独立的函数里,并以这段代码的用途为这个函数命名。提炼的时机:将意图和实现分开对于一段代码,你需要通过阅览才能搞懂这段代码在干什么,那么就需要将这段代码提炼到一个函数中,并为其所做的事命名。不用过于担心短函数会造成函数调用,因而影响性能。短函数常常能让编译器的优化性能运转更加良好,因而短函数可以更加容易地被缓存。1.提炼函数无局部变量typedef st...原创 2019-12-15 17:01:19 · 315 阅读 · 0 评论 -
2、内联函数
动机:某些函数内部代码和函数名称同样清晰易读,那么就应该去掉这个函数,直接使用其中的代码。间接性可能会带来帮助,但非必要的间接性总是让人感觉不舒服。另一种情况:对于一群不合理的函数,可以将他们都内联到一个大型函数中,再以重新提炼函数。int f(aTest){ return morethanfive(aTest)?2:1;}bool morethanfive(aTest)...原创 2019-12-15 17:15:42 · 100 阅读 · 0 评论