zoukankan      html  css  js  c++  java
  • 第四次作业

    1、敏捷开发是在什么样的背景下产生的?其主要特点有哪些?什么时候选择敏捷开发更恰当,为什么?

          答:(1)随着现代科技技术的高速发展,人们的生活水平也逐渐提高,为了满足生产生活需要,便产生了敏捷开发。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

    (2)主要特点:小团队工作;短迭代;注重面对面交流......

    (3)小团队工作,以个人能力为中心,能快速反应。

    2、Code smell 是如何产生的?有哪些典型的 code smell?代码重构(Code refactoring)有哪些优点?有哪些代码重构的方法?

         答:(1)Code smell的产生:code smell译名一般为“代码异味”,或“代码味道”,它是提示代码中某个地方存在错误的一个暗示,人可以通过这种smell(异味)在代码中追捕到问题。在计算机编程社区中,code smell代表了任何标志着事物变坏的征兆。它常常标志代码应该被refactored或者全部的设计都应该被reviewed。这个短语出现在 wardswiki上,它是被kent beck杜撰出来的。在refactoring兴起之后,这个短语的使用率骤增。 判断是否存在code smell经常是主观判断,并且随着语言、开发者、开发理论的不同而存在差异。经验丰富和知识渊博的人通过对优秀设计有一种“感觉”,他们已经达到一种称之为“无意识能力(unconsciouscompetence)”的状态。也就是说,他们无需思考,只要通过查看代码或一段设计就可以立马对这个项目的代码质量有一种 “感觉”,能够对代码设计的优劣有一个大致的判断。code smell只是一种“暗示”,而非一种“确定”。将某些事物称之为“code smell”并未是一种攻击;它只是一种提示:人需要对项目设计进行更进一步的查看。因此,code smell更多是“直觉的,本能的”。

    (2)典型的Code smell:1.duplicated code;2.long method;3.large class;      4.divergent change;5.shotgun surgery;6.feature envy;7.data clumps;     8.primitive obsession;9.switch statement;10. parallel inheritance hierarchies;11. lazy classv;12. speculative generality;13. temporary field;14. message chain;15. middle man;16. inappropriate intimacy;17. alternative classes with different interface;18. incomplete library class。
    (3)代码重构(Code refactoring)优点:能改进软件设计;软件更容易理解;能帮助发现隐藏的代码缺陷,找到bug,优化代码,提高软件的开发速度,提高系统的稳定性和可扩展性;提高编程效率。

    (4)代码重构方法:抽离方法;提取方法;分离条件;引入参数对象,保留全局对象;用符号常量替换魔法数字;重命名方法。

  • 相关阅读:
    cocos2dx——九宫格CCScale9Sprite
    COCOS学习笔记--TexturePacker使用详解
    leetcode 旋转数组
    leetcode 从排序数组中删除重复项
    使用javascript随机生成斗地主玩家手牌
    模仿w3c school的示例导航栏
    c#中快速排序的学习
    常用语法梳理
    技巧类
    markdown备忘
  • 原文地址:https://www.cnblogs.com/luowenhao/p/4516444.html
Copyright © 2011-2022 走看看