我可以考虑两种方法来检查可维护性(我相信还有更多希望其他人可以提出好的定义。
修改时不了解。
是否可以将错误修复程序引入代码中并解决问题,而无需了解整个系统的工作原理。
这可以通过提供全面的单元测试(回归测试)来实现。您应该能够检查对系统的任何更改是否都不会改变系统在任何特定良好输入下的行为。
在这种情况下,错误修复程序应该只需要很少的系统知识就能进入并修复(简单)错误。如果该修复程序有效,则所有回归测试都不会失败。如果任何回归测试失败,则需要进入第2阶段。
maintainabilty1 = K1 . (Code Coverage)/(Coupling of Code) * (Complexity of API)
修改后就可以理解了。
如果错误修复变得不那么重要,则您需要了解系统。那么系统的文档是什么样的。我们不是在谈论外部API的文档(它们相对没有用)。我们需要了解的是系统如何在实现等中使用的任何巧妙(阅读技巧)技巧下工作。
但是文档还不够,代码必须清晰易懂。为了衡量代码的可理解性,我们可以使用一些技巧。开发人员完成编码后,请给他/她一个月的时间从事其他工作。然后请他们回来,并在码头现在可以理解系统的范围内记录系统。如果代码相对容易理解,那么它应该很快。如果写得不好,他们将花费更长的时间来解决他们构建的内容并编写文档。
因此,也许我们可以提出一些措施:
maintainability2 = K2 . (Size of doc)/(Time to write doc)