模块化在软件项目中显然很重要,但我想知道人们对 重要性以及原因重要性的看法。自从我问这个问题以来,我显然已经有了自己的想法,但是把它想象成一个应该模块化软件项目的原因的“共同头脑风暴”......
答案 0 :(得分:5)
当涉及到同时掌握复杂问题时,我们人类是有限的。但是,我们有能力将复杂的问题分解为(可能非常大的)个别问题,这些问题并不太复杂,无法解决大问题。
这从根本上推动了诸如“重用”,“关注点分离”,“更容易维护”等问题。
所有这些原因都是正确的,无论是一个人打破一个复杂的问题来逐个解决,还是一个人为了分散复杂性而打破它的团队。
答案 1 :(得分:4)
我认为其中一个主要方面是重用。当你模块化地构建东西时,几乎没有这样的事情:“哦,我之前已经完成了这个,但是为了使用它,我还必须得到这个和这个功能,这与我的应用程序完全无关”。
此外,更容易理解。我无法同时记住大量的事情。当代码是模块化的时,更容易建立一个自己有意义的事物的“区域”。一旦这个区域变小,我就能把它理解为整体,而不是它的一部分。
最后,当事情变得更小时,更容易进行测试和维护。此外,一旦测试只测试应用程序的一小部分,您的测试就会更快地指出错误。
答案 2 :(得分:2)
将代码放入不同模块的主要原因:
答案 3 :(得分:1)
模块化和解耦很重要,原因有很多,其中一些是:
答案 4 :(得分:0)
它也可以被视为Application Architecture的基本活动:
这就是为什么“金融投资组合计算”实际上将分为:
加上几个横向的:
将这种功能需求视为一个庞大的单片模块会迫使开发人员将所有子程序按顺序实现为全部。
鉴于具有清晰的应用程序体系结构,您可以开始处理更通用和横向的模块,同时仍然可以改进其他更面向业务的模块。
它还会强制您定义更多接口,并分析不同模块必须解决的通信间问题(直接n-to-n类型?总线?,...)