查看: 13459|回复: 27

话题讨论:重新开发VS源代码修改 两者谁效率更高?(已公布获奖)

[复制链接]
认证徽章
论坛徽章:
49
现任管理团队成员
日期:2012-10-18 17:10:46妮可·罗宾
日期:2018-04-03 13:57:49
发表于 2014-7-1 11:41 | 显示全部楼层 |阅读模式
     修改代码是件很不错的事情。那可是我们赖以养家糊口的工作。但是,有些修改代码的方式会让我们的生活更悲催,而有些方式则会让我们的生活轻松写意。业界并没有针对这个问题的太多讨论,我们手头最便于参考的是重构方面的文献。我觉得可以将这个讨论再拓宽一些,谈一下如何处理最棘手的代码。在此之前,我们需要深入理解一下修改的机制。修改软件的四种主要原因:增加特性、修正缺陷、改善设计和优化对资源的利用。
    本期讨论话题:
    1、作为一款软件是重新开发效率高还是修改源代码效率高?
    2、如何做到高效的代码修改?
    3、阅读本书试读章节,说说您的感想?
    活动时间:2014年7月1日-7月15日
    活动规则:阅读我们提供的图书试读章节来参加活动,写试读心得或根据提供的话题参与讨论!

本期奖品:《修改代码的艺术》图书一本    5名
图书信息:
立体.jpg
原书名:Working Effectively with Legacy Code
书名:修改代码的艺术/
作者:(美)费瑟(Feathers,M. C.)著;
译者:侯伯薇译.
试读下载: 46625 修改代码的艺术.rar (4.43 MB, 下载次数: 116)
发表于 2014-7-1 11:49 | 显示全部楼层
看源代码的质量,修改的程度等多方面的因素吧

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Java研发
认证徽章
论坛徽章:
6350
ITPUB9周年纪念徽章
日期:2014-05-02 10:36:402011新春纪念徽章
日期:2014-12-29 12:11:142010广州亚运会纪念徽章:卡巴迪
日期:2014-08-06 08:44:252012新春纪念徽章
日期:2014-12-29 12:11:142013年新春福章
日期:2014-12-29 12:11:14马上有车
日期:2014-12-29 12:11:14马上有房
日期:2014-12-29 12:11:14马上有钱
日期:2014-12-29 12:11:14马上有对象
日期:2014-12-29 12:11:14马上加薪
日期:2014-12-29 12:11:14
发表于 2014-7-1 11:53 | 显示全部楼层
1、作为一款软件是重新开发效率高还是修改源代码效率高?
不一定。
2、如何做到高效的代码修改?
懂原作者的开发思路,有好的注释
3、阅读本书试读章节,说说您的感想?
准备阅读

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
484
马上有钱
日期:2014-02-19 11:55:14itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29慢羊羊
日期:2015-02-09 17:04:38沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31ITPUB年度最佳版主
日期:2015-03-18 15:48:48
发表于 2014-7-1 12:01 | 显示全部楼层
楼上正解,我来列个表好了
原施工方水准     现施工方水准     应采取的措施
低               低               直接修改或重构均可
低               中               直接修改+重构,低水平的代码也未必就都不堪入目
低               高               重构,因为原代码质量一般不会好
中               低               应该能看懂原施工方的代码,可以采取
直接修改的手段
中               中               一般会选择修改+重构
中               高               
直接修改+重构
高               低               少量直接修改,因水平不够大部分只能重构
高               中               部分直接修改,另一部分重构
高               高               
直接修改+重构

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
484
马上有钱
日期:2014-02-19 11:55:14itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29慢羊羊
日期:2015-02-09 17:04:38沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31ITPUB年度最佳版主
日期:2015-03-18 15:48:48
发表于 2014-7-1 12:02 | 显示全部楼层
1、作为一款软件是重新开发效率高还是修改源代码效率高?
见4楼

2、如何做到高效的代码修改?
参考4楼,让自己变得牛X

3、阅读本书试读章节,说说您的感想?
读完再写,占楼先

使用道具 举报

回复
论坛徽章:
1312
蓝锆石
日期:2013-02-02 17:29:06季节之章:秋
日期:2014-07-02 10:59:21行业板块每日发贴之星
日期:2014-07-15 11:21:27萤石
日期:2013-02-02 17:29:06紫水晶
日期:2014-07-11 09:51:41祖母绿
日期:2013-02-02 17:29:06ERP板块每日发贴之星
日期:2014-07-15 11:21:27海蓝宝石
日期:2013-02-02 17:29:06紫水晶
日期:2013-02-02 17:29:06每日论坛发贴之星
日期:2014-07-15 11:21:27
发表于 2014-7-1 12:04 | 显示全部楼层
本期讨论话题:
     1、作为一款软件是重新开发效率高还是修改源代码效率高?
         首先看软件的需求, 再见源代码的质量, 最后看开发人员的水平
     2、如何做到高效的代码修改?
         懂需求,精通修改代码,就是要找高人,最好有文档
     3、阅读本书试读章节,说说您的感想?
         理论和现实是有差距的      

使用道具 举报

回复
论坛徽章:
47
托尼托尼·乔巴
日期:2017-01-03 11:47:42喜羊羊
日期:2015-03-10 14:01:432015年新春福章
日期:2015-03-06 11:57:31沸羊羊
日期:2015-03-04 14:43:43马上有房
日期:2014-12-29 13:45:35马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11夏利
日期:2014-01-28 09:42:56雪铁龙
日期:2013-10-09 13:33:15秀才
日期:2016-01-21 13:37:04
发表于 2014-7-1 12:08 | 显示全部楼层
重新开发,那个效率都是从无都有;架构已经是新的层面的思考,所有这样开发的东西缺陷是最少的,也是可控的;

使用道具 举报

回复
认证徽章
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
发表于 2014-7-1 12:33 | 显示全部楼层
本帖最后由 jieforest 于 2014-7-6 22:48 编辑

1、作为一款软件是重新开发效率高还是修改源代码效率高?
这个问题没有绝对正确的答案,让我们换种思路来回答这个问题。
重新开发效率高适用于那些场景?
1)之前的源代码组织结构混乱;
2)之前的源代码缺少文档;
3)之前的源代码缺少注释;
4)之前的源代码架构设计上存在严重缺陷,没法满足新的需求;
5)之前的源代码管理无序,版本无法追溯;
6)之前源代码的开发者已经跳槽,无法找到原作者询问。
修改源代码效率高适用于那些场景?
1)之前的源代码组织结构良好;
2)之前的源代码管理有序,版本可追溯;
3)之前的源代码文档详尽;
4)之前的源代码包含了足够的注释;
5)之前的源代码架构设计良好,有足够的可扩展能力;
6)源代码作者还在公司,可以比较方便的咨询问题。
结合实际,用以上的场景进行各维度的比较,择优选择是重新开发还是修改原有代码。

2、如何做到高效的代码修改?
就我的经验而言,要做到高效的代码修改,需要:
1)梳理软件的架构;
2)梳理软件的详细设计文档及接口;
3)梳理软件的算法设计,找到原作者的开发思想;
4)根据新需求高效开发代码。

3、阅读本书试读章节,说说您的感想?
试读章节提供了书籍前三章的内容,讲述了修改软件、利用反馈、感知和分离,译者侯伯薇我认识,曾经打过几次交道,他是常年奋战在IT翻译前线的一位资深编辑,翻译水平很高,他翻译的书籍值得一读。

使用道具 举报

回复
论坛徽章:
59
2015年新春福章
日期:2015-06-25 09:24:20宝马
日期:2013-12-16 13:23:03凯迪拉克
日期:2013-12-04 15:23:15法拉利
日期:2013-11-07 17:06:20三菱
日期:2013-11-07 17:05:37林肯
日期:2013-10-17 10:47:25本田
日期:2013-10-17 08:28:55奥迪
日期:2013-10-17 08:23:31日产
日期:2013-10-16 13:14:59路虎
日期:2013-10-10 08:54:25
发表于 2014-7-1 13:23 | 显示全部楼层
从流程上来看,都需要先理解需求然后进行设计文档的编写,代码的编写,测试。

所以重新开发和修改的工作量才是决定因素。但是重新开发一般工作量要大于修改工作量,人员素质在这个阶段又是关键点。

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2014-7-1 15:05 | 显示全部楼层
如果能看懂,就修改,看不懂,只能自己写了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表