摘要:
上接:SCRUM节外生枝(四)5. Bug!Bug!Bug!理想中的SCRUM世界,不需要验收测试阶段,因为每个Sprint结束,都会交付一个可发布的版本。但是,现实中每个Sprint结束后都会不断涌现新的Bug。所以《硝烟中的Scrum和XP》说:“你大概没法取消验收测试阶段”。但正是这Sprints之外的验收测试阶段,把我们拖入了万劫不复的境地。产品原本计划1年Release,但1年半时我们仍在修复不断涌现的Bug。我们的目标是修复所有Priority 0和1的Bug,并使Bug修复率达到至少80%,才能宣布到达Beta 这个Milestone。但每轮Full Test发现的Bug总是与修 阅读全文
摘要:
本人对于C#只能算是初学者,写此随笔,也只为和大家一起讨论,共同进步。我看到过一些用C#语言泛化单件(Singleton)的文章和代码,里面有个问题,即用new来创建对象,比如类似下面这段代码:if(_instance==null){_instance=newT();}要想让其工作,你必须让T的构造函数为public。但是,如果T的构造函数为public,那任何客户代码都可调用new T()。你无法用语言本身限制其只能被创建最多一次和只有一个全局访问点,这样也就无法保证你的单件成为“单件”。C++里有友元(friend),T的构造函数可是设为non-public,然后用单件的模板类作为友元去访 阅读全文
摘要:
如果你在你的某个系统中增加了一个子类,你要创建这个子类的对象,但又不想改变任何原有代码,有可能么?答案是肯定的,用“对象工厂”设计模式。对象工厂(Object Factory)是GoF 23种设计模式之外的模式,它既不是抽象工厂(Abstract Factory),也不是工厂方法(Factory Method),尽管可能跟它们有些渊源。我第一次看到介绍“对象工厂”的书是《C++设计新思维(Modern C++ Design)》,但我第一次看到对象工厂的代码,却比看到这书早,但我当时不知道它叫“对象工厂”。《C++设计新思维》(下载地址:http://d.download.csdn.net/do 阅读全文