一,何为敏捷编程
1、敏捷软件开发并不意味着progeramming不变的模式,而是在编程过程中起着指导和引导角色。有一群观念暗示realated敏捷软件开发。这就是极端progranmming、结对编程、测试驱动开发,等。因此,我认为敏捷软件开发是progreamming的一般目标,而不是一个具体的方法。敏捷软件开发有自己的特点,不同的方法的编程。
2、敏捷软件开发有两个根深蒂固的原则:
a、敏捷方法是自适应,而不是预测;
b、以人为本,而不是面向流程的敏捷方法;
ASD有两个非常重要的原则。该让步的巨大的优势相比传统的编程思想,相比传统的软件开发,计划非常详细。因此,这些约束计划本身非常难以理解,因此我们需要一次又一次的修改计划。所以我们不要大蓝图,我们使用WBS(工作分解结构),我们让小计划,随时灵活地修改它。
二、招募新成员在一个已经推迟project不会帮助使项目,只会使得更加缓慢。
从互联网找不到理想化的答案:(。这句话一般适用,但如果新成员是比尔门,大卫·a·帕特森或者一些i来自Starford大学的ngeneous家伙吗,他们不能帮一点吗?
三、为什么我们不需要细节描述文件而只是分而治之?
答案就在问题1中。因为我们的计划更详细,我们就更难能够遵循它,我们越可能打破规则重写描述文件。因此我们需要思考敏捷性。
四、是否存在一个项目,是由资源启动的?(存在项目出于时间\功能的项目)
在我看来是存在的。在项目中资源是最基本的因素,你不可能在没有任何招聘或没有任何钱的情况下运行一个项目。因此资源可以影响一个项目的速度,像时间一样。如果团队只有一个成员你将花费2年完成项目,而如果有10人可能完成你的项目仅仅只需要3个月。
五、如何做好封装?
从我学习的经历看来,首先,减少类和成员的可访问性,避免朋友类;然后,不要假设类的用户;我认为这对我来说是有用的,因为我经常假设我就是用户;最后考虑你类的所有的特性和功能。