摘要: 星期六了,适当出去放松了下,回来继续我们重构的话题。今天是坏味道【3】了,很多朋友跟我私信,叫我把坏味道出完,再出手法。其实这是有道理的,很多时候,"发现"远比"怎么做"重要的多。就拿设计模式来讲,GoF里面的设计模式相信有很多人都了解过。具体的设计模式应该怎么实现啊相信有很多人都背的滚瓜烂熟,但... 阅读全文
posted @ 2014-11-29 17:53 Ricky.K 阅读(984) 评论(4) 推荐(0) 编辑
摘要: 接着昨天的继续说,废话不说,直接进入正题: 【3】Large Class(过大的类) 查看一个类是否“过大”,这里有一个小技巧分享给大家。就是看两点:1)这个类实例变量太多,必然会有Duplicated Code(重复代码) 2)类内如果有太多代码,也会产生Duplicated Code,让整个类... 阅读全文
posted @ 2014-11-28 10:02 Ricky.K 阅读(2097) 评论(7) 推荐(2) 编辑
摘要: 今天,我们不介绍具体的重构手法。我们暂且缓缓,回过头来看看,总结一下,什么样的代码需要重构,什么样的代码有一股”难闻的味道“,以此来提示我们需要重构,来提示我们这段代码其实是有改进的地方的。我也很喜欢文中作者对于代码这种特质采用”坏味道“,很形象也很生动。下面进入正题: 【1】Duplicated... 阅读全文
posted @ 2014-11-27 14:43 Ricky.K 阅读(1246) 评论(0) 推荐(0) 编辑
摘要: 有时候你会遇到一系列复杂的表达式连续运算的时候,这个时候你可能根本招架不住如此长或者是如此复杂的长函数。这个时候你可以通过引用临时变量来储存他们的结果,将这些长函数的结果分成一个个临时变量来让函数清晰化。但在这里,我的想法与作者的想法是一样的,我会更倾向于去用Extract Method去将复杂函... 阅读全文
posted @ 2014-11-26 16:41 Ricky.K 阅读(1004) 评论(0) 推荐(1) 编辑
摘要: Replace Temp with Query,顾名思义,表示你用查询来替换临时变量本身,临时变量对于函数来说是只有当前函数可见的,如果你在同类的别的地方要用到这个变量你就必须重新写表达式来获取这个变量,这样的话你就会在不经意间让你的函数变得复杂起来,所以如果你想要使用Extract Method... 阅读全文
posted @ 2014-11-25 12:27 Ricky.K 阅读(3058) 评论(6) 推荐(1) 编辑
摘要: LXPanel是Linux下LXDE项目的一个桌面面板软件。我一开始接触的时候,对于自己自定义的程序到快速启动栏绕了很多弯路,这里记录下,防止以后自己忘了。还有一点就是很多时候,panel下的应用程序列表不是最全的,这个时候你需要手动去/usr/share/applications下去查看,LXP... 阅读全文
posted @ 2014-11-24 15:50 Ricky.K 阅读(2234) 评论(0) 推荐(0) 编辑
摘要: 与Inline Method相同,有时候犹豫需要Extract Method,需要对一些临时变量进行内联,而这个往往是Replace Temp with Query的一部分。简单来说,当你看到这种double basePrice = anOrder.basePrice();return (base... 阅读全文
posted @ 2014-11-24 09:40 Ricky.K 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 加入间接层确实是可以带来便利,但过多的间接层有时候会让我自己都觉得有点恐怖,有些时候,语句本身已经够清晰的同时就没必要再嵌一个函数来调用了,这样只会适得其反。比如void test(){ if (numGreaterFive()) { qDebug() 5;} 函数名称... 阅读全文
posted @ 2014-11-21 13:59 Ricky.K 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 写下这个给自己备忘,上次也有一次载了个跟头。 在iOS 7和8里面,除了设置--App Store里面自动更新,自动下载,以及使用蜂窝数据要关之外,别以为用了WiFi挂着程序,就万无一失了。 这种情况仅仅是禁止系统给你自动下载以及自动更新。如果你手动进了App Store进行了下载和更新,那么当你... 阅读全文
posted @ 2014-11-19 16:44 Ricky.K 阅读(1401) 评论(0) 推荐(0) 编辑
摘要: 在编程中,比较忌讳的一件事情就是长函数。因为长函数代表了你这段代码不能很好的复用以及内部可能出现很多别的地方的重复代码,而且这段长函数内部的处理逻辑你也不能很好的看清楚。因此,今天重构第一个手法就是处理长函数--Extract Method,抽取成一个独立的小函数。 我个人来说也很喜欢短小函数,因... 阅读全文
posted @ 2014-11-19 12:22 Ricky.K 阅读(2200) 评论(2) 推荐(0) 编辑