标签:
1、敏捷开发是在什么样的背景下产生的?其主要特点有哪些?什么时候选择敏捷开发更恰当,为什么?
答:(1)敏捷开发的背景
传统开发方法是基于客户能够在需求阶段就给出完整、准确的需求的假设,所有期望在项目初期获得详细的需求,然后严格控制需求变更,最终完成符合需求的软件。但我们发现实际上往往需求是“涌现”出来的,也就是说随着开发的不断进展而不断发现出来的,而无法再项目初期就明确的定义它,,也就是说传统开发方法的基本假设是错误的,这一新的假设导致了敏捷方法的一系列实践。另外,传统的软件开发方法认为需求是可以确定,所以采用的是基于工程的开发方法,也就是说期望通过事先的详细策划定义开发的整个过程,而敏捷认为需求是无法再早期完全确定的,所以采用的是基于经验的开发二店方法,也就是是事先不详细定义整个开发过程,而通过多次迭代来逼近最终目标。
(2)主要特点:
1.个体和交互胜过过程和工 2.可以工作的软件胜过面面俱到的文档; 3.客户合作胜过合作谈判; 4.响应变化胜过遵循计划;
(3)合适选择敏捷开发、原因
小团队,快速反映,一个人能力为中心,选择敏捷开发最合适。因为敏捷开发的可靠性不高,对团队人数要求也相对较少,人越少,开发项目就越小,故用敏捷开发较合适。
2、Code smell 是如何产生的?有哪些典型的 code smell?代码重构(Code refactoring)有哪些优点?有哪些代码重构的方法?
答: (1)Code Smell 的产生:Code Smell中文译名一般为“代码异味”,或“代码味道”,它是提示代码中某个地方存在错误的一个暗示,
开发人员可以通过这种smell(异味)在代码中追捕到问题。在计算机编程社区中,code smell代表了任何标志着事物变坏的征兆。
它常常标志代码应该被refactored或者全部的设计都应该被reviewed。这个短语出现在 WardsWiki上,它是被Kent Beck杜撰出来的。
在refactoring兴起之后,这个短语的使用率骤增。
<2>.code smell一般包括:
<3>.重构的优点:
a.重构可以帮助你整理自己的思路,优化代码,从而提高系统的稳定性,和可扩展性。
b.持续纠偏和改进软件设计
c.帮助发现隐藏的代码缺陷
d.从长远来看,有助于提高编程效率
<4>.重构的方法:
a.提取类/抽离方法
b.提取方法
c.分离条件
d.引入参数对象/保留全局对象
e.用符号常量替换魔法数字
f.重命名方法
标签:
原文地址:http://www.cnblogs.com/hgl1023/p/4513348.html