浅谈用敏捷方法进行软件重用
创始人
2024-03-25 16:10:57
0

Brandon Olivares发起了讨论。他说,他刚刚在某些代码上用了30小时的时间,然后觉得这些代码可能会被重用,于是就觉得很矛盾,不知道是不是该把这些代码抽象出来,这样其他项目就有可能也用得到。

按照我个人理解来看,XP不鼓励假想某些东西可能会被用到,除非确实到了要用那个东西的时间点上。还是我的个人理解,刚才所说的东西也包括提取代码以供日后重用,XP提倡的是到了出现重复的时候再去做重构。
软件重用长期以来一直被极力宣扬为可以大量节省时间,也许另一个项目中的人可以重用你的代码,而不用重新开发。Brandon想知道其他人都是怎么决定在什么时候抽象代码加以泛化的。

Ron Jeffries***个回复,他讲了为什么跨团队重用的做法比初看起来要困难且昂贵得多:

我必须得给它打包,要是就我自己用的话这活就不用干了;我得给它写文档;我得让它更加抗造,把周边的一些问题去掉;我得给它提供支持,回答很多问题;我得训练别人用它。

如果我做了这些事情,代价就很高;如果我不做,别人用我的东西就很困难,给他们带不来多少帮助。

因为这些原因,Ron采取的是这种做法:

我只做适当的抽象,够自己用就好。如果我以后在一个稍微不同的环境下还需要用的话,我就会改进抽象。不过除非我的项目目标是给其他项目构建成品,我就不会浪费时间和金钱去给其他项目做东西。
还有一位认为,如果所有的项目都共享一套通用构建系统和测试套件,那重用就会容易一些。在这样的环境中,如果某个团队打算重用某些可以泛化的代码,这个构建系统就可以保证他们不会给其他需要这些代码的团队造成障碍。

George Dinwiddie、Ralph E. Johnson等人推荐到第二次(乃至更晚)用到同样代码的时候再做泛化。Adam Sroka把这个叫做“演化重用”,他认为这种方法比“为重用而设计”效率更高。一名叫做Tim的人发帖说,他这样给业务人员解释:“***次,你是给编码买单;第二次,你是给重用买单;第三次,它就是免费的了。”

George指出,更困难的地方在于怎么让其他团队意识到有些代码可以重用。帮助大家发现良机的沟通成本可能会很高。Jeff Langr说,让开发人员跨团队结对,可以解决这个问题。

Scott Ambler也加入了交流,他提到,开源也是重用的一种形式,它已经取得了巨大成功。他同时也提到,代码库、开发工具包乃至mash-up这些都是软件重用的成功案例。

【编辑推荐】

  1. 对话敏捷专家麦天志:敏捷开发现状及发展之路
  2. 对敏捷开发的五大误解
  3. 不一样的敏捷开发实践

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...