问题:
1、敏捷开发是在什么样的背景下产生的?其主要特点是什么?什么时候选择敏捷开发更恰当,为什么?
2、Code smell是如何产生的?有哪些典型的code smell?代码重构有哪些优点?有哪些代码重构方法?
回答:
1
产生背景:
2001年2月,17位敏捷方法的先驱在美国犹他州召开了为期2天的会议,成立了敏捷开发联盟,并发布了“敏捷宣言。”
主要特点:
(1)帮助我们更早地知道是否能如期完成任务;
(2)能尽快让用户看到项目的部分价值;
(3)当我们尽早交付部分价值的时候,如果客户对目前交付的东西已经很满意了,这样我们就不用再花时间来实现其他计划中的事了;
(4)或者,当用户看到部分系统,他们对整个需求有了新的认识,这样我们可以实现他们新的需求,而不是浪费时间。
恰当选择:
当产品可靠性要求不高,需求经常变化,团队人员有限时,更适合选择敏捷开发。因为,敏捷开发的适用条件就是:可靠性要求不高、需求经常变化、团队人员数量不多、由有资源的程序员带队。
2
如何产生:
由Kent Beck于90年代后期,在WardsWiki上首次使用。而且自从在Refactoring.Improving the Design of Existing Code被提到过,使用率就大大的提高。从此code smell成为开发者的常用语。
典型的code smell:
Duplicated Code、Long Method、Large Class、Divergent Change、
Shotgun Surgery、Feature Envy、Data Clumps、Switch Statement、Lazy Class、
Temporary Field、Message Chain、Middle Man、Data Class、Comments。
代码重构优点:
优化代码,提高系统稳定性和可扩展性;提高代码的可读性,使其结构清晰。
代码重构方法:
add paremeter,collapse hiesarchy,consdidate condltianals,Decompose conditionals.....