使用模块开发干净的代码

软件开发是一项复杂的工作,随着您的应用程序的发展而变得越来越复杂。 限制应用程序的复杂性将带来更好的整体质量。 在本文中,我论证了开发开放源代码软件的重要性,但是,针对高质量软件的开放源代码的相同原理也适用于封闭源代码库。

应用架构

在设计应用程序时,您的设计通常可以归结为至少具有“模型”和“视图”。 网站上的视图是HTTP路由,而在(iOS)应用程序上,这是一个更加直观的视觉概念。 除了这两个以外,您最终可能还会拥有更多类别。 我相信其中的控制器,配置,缓存和DataRepositories还有更多可能性。

当我指通过模块进行开发时,我想到的是面向依赖的体系结构。 您的模型是应用程序的核心基本概念。 用户具有标识符,名称和个人资料图片。 此信息对于所有其他组件的功能至关重要,这意味着所有其他应用程序组件都取决于模型。

您的观点是您将要使用的最高级概念。 这意味着视图(间接)依赖于所有其他模块。 由于视图依赖于这些模块,因此无法与类似模型的概念创建类似意大利面条的关系。 这迫使您的应用程序从下至上在结构上都是合理的。

访问修饰符

通过执行上述操作,可以减少应用程序数据对系统其他部分的偏见。 它有助于保持对数据结构的整洁有组织的监督。 但是,访问修饰符在这里比以往任何时候都更为重要。 忽略模块中模型的访问边界非常容易。 您为什么不将这些类型的“私人”更改为“公共”?

实际上,预防非常简单。 您的代码就像一堵砖墙。 砖块可能彼此并排,而不是直接相关。 一块砖将依赖于其他砖,而其他砖将依赖于该砖。 但是,从来没有两块砖头互相靠在一起。 这个基本概念对于创建稳定的软件至关重要。

编译时间

除了软件的结构质量外,您还将收获很多。 少了两个错误,更容易维护,这是我想到的两个问题,但是编译时间也肯定会增加,这并不是很明显。 软件通常是逐模块编译的。 这意味着在较小的模块中分离代码可以减少进行更改时需要重新编译的代码量。