随笔分类 -  敏捷软件

摘要:过程和方法对于结果只有次要影响,首要的影响是人。 人不是插入即兼容的编程装置,如果想要项目取得成功,就必须构建起具有合作精神的自组织的团队。 合作、沟通以及交互能力要比单纯的编程能力更为重要。 过多的文档比过少的文档更糟,编写以及代码的同步会花费更多的时间。直到迫切需要并且意义重大时,才来编写文档。 成功的项目需要频繁、有序的客户反馈。成功的关键在于和客户之间真诚的合作。 在“充满激烈讨... 阅读全文
posted @ 2006-02-08 19:34 quitgame 阅读(813) 评论(2) 推荐(0) 编辑
摘要:1. 类与类之间的关联 如果两者都是 Reference objects ,而其间的关联是一对多的关联,那么应该由[拥有单一reference]的一方承担[控制者]的角色 如果某一对象是另一对象的组成部分,则应该由后者控制关联性 如果都是object reference ,而且关系是多对多, 则无所谓那个控制 2. 封装值域 否则其他对象可以访问甚至修改这项数... 阅读全文
posted @ 2005-11-06 18:19 quitgame 阅读(409) 评论(0) 推荐(0) 编辑
摘要:SRP,单一职责原则:就一个类而言,应该仅有一个引起它变化的原因 · 将过多的职责耦合在一个类中导致了脆弱设计 · 职责是变化的原因 · 如果应用程序变化的方式总是导致两个职责同时变化,则不应该分离他们 · 把业务规则和持久化子系统绑定在一起是自讨苦吃,这违反了单一职责原则。可以使用 Facade 或者 Proxy 模式进行重构,以解... 阅读全文
posted @ 2005-11-06 17:54 quitgame 阅读(562) 评论(0) 推荐(0) 编辑
摘要:测试 编写单元测试是一种验证行为,更是一种设计行为 测试先行,迫使我们把程序设计为可测试的 测试是无价的文档 在编写代码前先编写测试改善了设计 为了使验收测试无须通过用户界面就能获得对业务规则的访问,我们需要解除业务规则和用户界面的耦合。 拙劣设计的症状 僵化性:难以改变,改变时将导致连锁更改 脆弱性:易于被破坏,更改将导致连锁问题 牢固性:代码有用,但难以重用 粘滞性:... 阅读全文
posted @ 2005-11-06 17:16 quitgame 阅读(581) 评论(0) 推荐(0) 编辑
摘要:摘自 敏捷软件开发--原则、模式、实践敏捷实践12 条原则,它们是敏捷实践区别于重型过程的特征所在。 1.我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 MIT Sloan 管理评论杂志刊登过一篇论文,分析了对于公司构建高质量产品方面有帮助的软件开发实践。该论文发现了很多对于最终系统质量有重要影响的实践。其中一个实践表明,尽早地交付具有部分功能的系统和系统质量之间具有很强的相关... 阅读全文
posted @ 2005-11-06 16:49 quitgame 阅读(485) 评论(0) 推荐(0) 编辑
摘要:随着TDD的流行,单元测试越来越成为软件开发的重要组成部分。那么,说到单元测试,大家都会想到NUnit(当然还有CPPUnit等,不过不在本文的讨论范围)。在NUnit中,编写一个测试的Class是很简单的,不需要像JUnit中那样从某个Class继承,这也得益于 DotNet中富有创意的 Attribute 特性。通过Attribute ,便有了不需要从BaseClass继承的 NUni... 阅读全文
posted @ 2005-10-15 15:18 quitgame 阅读(483) 评论(0) 推荐(0) 编辑
摘要:从3月份开始,就开始做一个WinForm的项目,现在快要收工了。这是偶参与的第一个Windows应用。这也是一个典型的三层应用,现在也到了开始总结经验教训的时候了,温故而知新嘛。 今天要总结的是其中一个糟糕的设计,这个设计存在于一个数据访问类中,至今没有被解决掉—因为修改设计需要修改大量的代码,而且不修改设计的话,我们的软件确实可以工作—至少目前是这样的。 这个类的类图大概是... 阅读全文
posted @ 2005-10-13 22:50 quitgame 阅读(808) 评论(0) 推荐(0) 编辑
摘要:最近写了一个排序的程序 需求从最开始的只要能对数组进行升序排序不断的进化 最后成为以下的样子: 1 可以升序和降序排序 2 能够自由的扩充排序算法而不需改动原有程序 3 能纪录排序的比较次数、交换次数、排序用时 4 通过扩展,能够对任意对象进行排序 5 通过扩展,能够将排序过程相关的信息打印在任何位置 所以代码从最开始的一个简单的函数被重构成了 包含3个 接口、N个类的包 程序的输出入... 阅读全文
posted @ 2005-10-11 23:54 quitgame 阅读(887) 评论(2) 推荐(0) 编辑