
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发技术,下面我们就通过案例分析来了解一下,软件开发质量问题的重要性。
内部质量使软件增强更容易
那么,为什么软件开发人员会因为内部质量而提出问题呢?程序员大部分时间都花在修改代码上。即使在新系统中,几乎所有的编程都是在现有代码库的上下文中完成的。当我想向软件添加新功能时,我的要任务是弄清楚该功能如何适应现有应用程序的流程。然后我需要更改该流程以让我的功能适应。我经常需要使用应用程序中已有的数据,因此我需要了解数据代表什么,它与周围数据的关系,以及我可以使用哪些数据需要为我的新功能添加。
所有这些都是关于我对现有代码的理解。但是软件很容易让人难以理解。逻辑可能会变得混乱,数据可能难以理解,用于指代事物的名称在六个月前对托尼来说可能有意义,但对我来说就像他离开公司的原因一样神秘。所有这些都是开发人员所说的cruft的形式——当前代码与理想情况下的差异。
客户确实关心新功能很快交付
在这里,我们看到了为什么内部质量对用户和客户很重要的线索。更好的内部质量使添加新功能更容易,因此更快、更便宜。Rebecca和我现在可能有相同的应用程序,但在接下来的几个月里,Rebecca的高内在质量使她每周都能添加新功能,而我却被困在尝试剔除繁琐程序,只推出一个新功能。我无法与Rebecca的速度相提并论,很快她的软件就比我的功能强大多了。然后我所有的客户都删除了我的应用程序,取而代之的是Rebecca,即使她的价格更高。
可视化内部质量的影响
内部质量的根本作用是降低未来变革的成本。但是编写好的软件需要一些额外的努力,这在短期内确实会带来一些成本。
将这一点可视化的一种方法是使用以下示意图,我绘制了软件的累积功能与生成它的时间(以及成本)的关系。对于大多数软件工作,曲线看起来像这样。
这就是内部质量差的情况。初进展很快,但随着时间的推移,添加新功能变得越来越困难。即使是很小的改动也需要程序员理解大范围的代码,那些难以理解的代码。当他们进行更改时,会发生意外损坏,导致测试时间过长和需要修复的缺陷。
专注于高内部质量是为了减少生产力的下降。事实上,一些产品看到了相反的效果,开发人员可以加快速度,因为可以通过利用以前的工作轻松构建新功能。这种愉快的情况很少见,因为它需要一支技术娴熟、纪律严明的团队才能实现。但我们偶尔会看到。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。