从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%。因此,充分认识到软件维护工作的重要性,提高软件的可维护性,减少维护的工作量和...
**RAMS可靠性、可用性、可维护性和安全性原理** 在IT行业中,RAMS(Reliability, Availability, Maintainability, and Safety)是四个至关重要的概念,它们对于系统设计、工程管理和风险评估具有深远影响。理解并...
软件的可维护性与可复用性
本文以VerilogHDL为例,对可维护性设计进行了初步探讨。 1、设计重用与可维护性设计 设计重用是一个很大的概念,严格来讲,可验证性设计和可维护性设计都在设计重用之列。可维护性设计的目的本身就是便于设计重用...
在IT行业中,系统实时性、可维护性和可靠性是衡量一个软件或系统质量的重要标准。这些概念对于确保系统的高效运行和长期稳定至关重要。 首先,我们来深入理解这些术语: 1. **系统实时性**:实时性是指系统对输入...
建筑设备监控系统实时性可靠性可维护性功能测试记录(一)
建筑设备监控系统实时性可靠性可维护性功能测试记录(二)
完整英文版 IEC 60706-2:2006 Maintainability of equipment - Part 2:Maintainability requirements and studies during the design and development phase(设备的可维护性 - 第 2 部分:设计和开发阶段的可维护...
系统集成的质量直接影响到整个IT系统的稳定运行、可维护性和安全性。本文件"系统集成可维护性和安全性分项工程质量验收记录表"是用于在工程实施过程中,对系统集成的这两个关键方面进行质量控制和验收的重要文档。 ...
计算机软件的可维护性是软件开发和维护过程中的核心关注点,因为它直接影响到软件的长期使用和成本效益。本文主要探讨了计算机软件的可维护性及其度量方法,旨在提高软件的可靠性和效率。 首先,软件的可维护性涉及...
通过实施全面的可维护性测试策略,包括制定可维护性因素清单、确保软件符合标准、创建可维护性衡量标准,以及进行数据库连接测试和数据更新和完整性测试,我们可以确保数据库的稳定性和可靠性。使用自动化测试工具和...
"软件开发:浅谈计算机软件可维护性方法" 软件开发中可维护性的重要性不言而喻。软件可维护性是指软件在维护和更新过程中,不断满足用户需求的能力。软件的可维护性取决于软件的质量目标和优先级、技术和工具的选择...
在C/C++开发中,代码可维护性分析是一个关键步骤,它可以帮助开发者识别潜在的问题,提高代码质量,降低维护成本。以下是如何在C/C++项目中实现代码可维护性分析的详细指南。 集成代码可维护性分析工具到C/C++项目中...
在软件开发的生命周期中,代码的可维护性是衡量软件质量的关键指标之一。对于C/C++这样的性能敏感型语言,代码的可维护性不仅关系到软件的长期稳定性,还直接影响到开发和维护的成本。本文将探讨如何在C/C++项目中...
**2.1 什么是软件可维护性** 软件可维护性指的是软件在交付后能够被有效地修改、改进、调试和维护的能力。良好的可维护性能够显著减少维护成本,延长软件的使用寿命。 **2.2 为什么重视软件可维护性** - **降低...
【基于模糊神经网络的软件可维护性评价研究】 在当今信息化社会中,软件质量成为衡量软件价值的关键因素,而软件的可维护性是其质量的重要组成部分。可维护性关乎软件能否适应用户需求的变化,以及在出现问题时能...