从InfoQ上面看到的一个讨论,国外的牛人在抱怨NHibernate 2.1的“可维护性”太差,改个东西要牵动全身。接着有人回应,说NHibernate 2.1其实很好维护。争论到最后,就变成了对“可维护性”的定义了,毕竟大家各执一词,可能只是因为标准不同。
原文的链接:
http://www.infoq.com/cn/news/2009/08/what-is-maintainable
再往下讨论,“可学习性”这个概念也出来了。有人认为,说NHibernate 2.1不好维护的,其实是说“可学习性”不佳,而对熟悉NHibernate 2.1的人来说,NHibernate 2.1还是很好维护的。
我以前也没有仔细考虑过“可维护性”到底是指什么,看到这篇讨论才开始认真考虑这个问题。
我觉得,“可维护性”的定义,是和你站的位置不同而不同的。
对于身处技术团队内部的人来说,“可维护性”的确就是只要熟悉的人能够自如的增删功能就可以了。而对于技术团队上一层的组织而言,恐怕必须提高标准,否则在技术团队人员变动的时候会遇到麻烦。
举个例子说,B是老板,M是项目或者产品经理,P1和P2是技术团队成员。有一天,B招聘了一个新的程序员P3,让他学习项目或者产品技术并据此做出另外一个新的产品。P3抱怨原来的产品“可维护性”差,但是M和P1、P2都说不差,他们修改原产品很容易啊!
站在M和P1、P2的角度,可能确实“可维护性”很好;但是,站在B和P3的角度,就不会这样认为了。
分享到:
相关推荐
软件可维护性探讨 软件维护是软件生存周期的最后阶段,所有活动都发生在软件交付并投入使用之后,其费用有时高达软件总费用的80%。因此,充分认识到软件维护工作的重要性,提高软件的可维护性,减少维护的工作量和...
软件的可维护性与可复用性
在IT行业中,系统实时性、可维护性和可靠性是衡量一个软件或系统质量的重要标准。这些概念对于确保系统的高效运行和长期稳定至关重要。 首先,我们来深入理解这些术语: 1. **系统实时性**:实时性是指系统对输入...
建筑设备监控系统实时性可靠性可维护性功能测试记录(一)
建筑设备监控系统实时性可靠性可维护性功能测试记录(二)
完整英文版 IEC 60706-2:2006 Maintainability of equipment - Part 2:Maintainability requirements and studies during the design and development phase(设备的可维护性 - 第 2 部分:设计和开发阶段的可维护...
计算机软件的可维护性是软件开发和维护过程中的核心关注点,因为它直接影响到软件的长期使用和成本效益。本文主要探讨了计算机软件的可维护性及其度量方法,旨在提高软件的可靠性和效率。 首先,软件的可维护性涉及...
软件可维护性是软件开发过程中的关键目标,它关乎到软件系统的长期稳定性和适应性。软件的可维护性定义为:在系统运行期间,能够容易地修正错误、添加新功能、进行扩展或优化的程度。软件的可维护性、可使用性、可靠...
通过实施全面的可维护性测试策略,包括制定可维护性因素清单、确保软件符合标准、创建可维护性衡量标准,以及进行数据库连接测试和数据更新和完整性测试,我们可以确保数据库的稳定性和可靠性。使用自动化测试工具和...
在深度学习模型的开发过程中,可维护性是一个至关重要的考量因素。它直接影响到模型的长期迭代、故障排查和功能扩展。YOLOv11,作为Ultralytics团队推出的最新目标检测模型,其可维护性测试同样不容忽视。本文将探讨...
在软件开发的生命周期中,代码的可维护性是衡量软件质量的关键指标之一。对于C/C++这样的性能敏感型语言,代码的可维护性不仅关系到软件的长期稳定性,还直接影响到开发和维护的成本。本文将探讨如何在C/C++项目中...
在C/C++开发中,代码可维护性分析是一个关键步骤,它可以帮助开发者识别潜在的问题,提高代码质量,降低维护成本。以下是如何在C/C++项目中实现代码可维护性分析的详细指南。 集成代码可维护性分析工具到C/C++项目中...
系统集成可维护性和安全性分项工程质量验收记录表.doc.pdf
【基于模糊神经网络的软件可维护性评价研究】 在当今信息化社会中,软件质量成为衡量软件价值的关键因素,而软件的可维护性是其质量的重要组成部分。可维护性关乎软件能否适应用户需求的变化,以及在出现问题时能...
可维护性主要涉及软件在后续维护、升级或改正错误时的便捷程度。它包括了可理解性、可修改性、可测试性、可移植性等多个方面。可理解性是指代码的清晰度和文档的完备性,使得新加入的开发者能快速理解软件结构。可...
然而,随着技术的快速演进和用户需求的持续变化,软件必须具备良好的可维护性,才能在生命周期中不断适应各种更新和升级。软件的可维护性直接关系到软件的稳定运行、后期成本、以及用户的满意度。 首先,我们需要...
在软件开发的生命周期中,代码的可维护性是衡量软件质量的关键指标之一。对于C/C++这样的底层语言,代码的可维护性不仅关系到软件的长期稳定性,还直接影响到开发和维护的成本。本文将深入探讨C/C++代码可维护性分析...
### 软件工程中的可维护性与可扩展性设计 #### 第1章 简介 **软件工程概述** 软件工程是一门工程学科,它通过系统化、规范化和量化的方法来开发和维护软件。软件工程的目标是提高软件产品的质量,确保其能够满足...