不要当你需要新的功能的时候,或者原来的程序出了Bug,你才想起重构。
《重构》那本书你看过了吗?它写的是什么?那本书的价值何在?介绍重构这门技术?告诉你为什么重构?错!那本书的价值就在于它把应该引起重构的Bad Smell一一列了出来,并给出了该如何重构解决这些Bad Smell的意见,不然那本书看一遍就可以扔了!
你知道什么是面向对象吗?接口! 你知道什么是TDD吗?重构!
详细内容
TDD
这个概念出现至少也有两年多了, 在大家刚接触它时候, 几乎没人不拍手鼓掌, 测试驱动的概念确实可以为我们带来很多的好处. 泡泡在前不久写了一篇很不错的TDD的文章, 可是我还是忍不住在他的评论中说到这篇文章有点”老”. 确实,同样的概念在书中, 在大家的口中已经被说烂了. 但是TDD真正给我们带来什么呢? 有多少人在用TDD呢? 为什么这么好的技术到了应用中就被人们”抛弃”了呢?
(注: Design Pattern面世都十几年了, 现在还是有不少好书在介绍它,所以”老”不代表不好,泡泡的总结在园子里还是最好的一篇TDD文章, 特别建议刚接触TDD的参考之.)
TDD的应用是阻挠TDD发展的重要原因, 回想一下有关TDD书中举的那些例子. 再想想你学习了解TDD自己又做了哪些应用? --- 类库, 最基本的几个类之间协作, 不涉及数据库,不涉及UI,不涉及企业服务. 这样看来TDD最适用的场合就是不涉及复杂应用的类库. 比如一个保龄球游戏, 一个Money兑换系统. 如果是这样那TDD自然没有人用了, 真正的项目有几个不涉及负责应用呢, 有几个不和数据库,界面打交道? 可是一旦你想将TDD应用于此时, 你就会发现烦不胜烦, 无从下手.
难道TDD真得这么不堪一击?... 详细内容
在前不久发布的”质疑国内.Net社区”的随笔中, 我个人算是对社区的力量抱怨了一把. 下面该有些实际行动来推动社区的发展, 其实在写那篇随笔的时候正在总结一些心得, 现在我把它发表出来供大家讨论,也算是带个好头,希望能起到抛砖引玉的作用.
在阅读此文之前推荐阅读O/R Mapping 基本概念,在基本概念上达成共识.
Enterprise Persistence Design