写 HLD 和 LLD 真的值得吗?
写 HLD 和 LLD 真的值得吗?
我经常看到开发人员偶然发现是否要努力编写 HLD 和 LLD 文档。是不是真的值得吗?我们需要写它,因为有人刚刚告诉我们吗?
很多时候,开发人员认为编写文档是在浪费时间,而这是不需要的。此外,开发人员认为他们是通过编写代码和构建系统而不是编写文档来获得报酬的。
因此,在本文档中,我们将讨论编写 HLD 文档是否真的值得。
你有没有观察到,在现实世界中,我们大部分都使用蓝图。让我们以建造房屋为例。假设您有一块大地块,我们可以在其中建造房屋。但考虑到您需要快速搬入,并且建设资金较少,您决定只建一楼,您直接开始建造房间并不断增加其他区域,如厨房、餐厅、客厅等。但甚至没有设计一个粗略的蓝图,想想我们最终要建造的房子。现在如果最后你发现客厅看起来更小而其他房间看起来更大,那么你将不得不再次进行大量返工。
建好一楼后,你开始住在那里,几年后,你意识到你需要更多的空间,并想在上面建造另一个故事。检查后,您意识到您在建造一楼时从未配置过一楼,因此您将不得不拆除现有房屋结构的一半来建造下一层。想想刚刚因为缺乏设计而发生的灾难。我们在实际的基础工作和建设上花费了太多时间,而忽略了在设计和规划未来供应方面的时间。现在这将花费大量的返工,并且还会导致不是一个非常安全、坚固和美观的房子。
软件系统与建造房屋或建筑物没有太大区别。因此,理想情况下,这是一项投资,而不是支出。
现在我们已经讨论了很多关于文档的重要性,但它们到底是什么?让我们来看看…
这 系统设计文件 使用迭代方法来确定最佳解决方案,确保功能性和非功能性需求被整合。它跟踪有效定义架构和系统设计所需的必要信息,以便为开发团队提供有关要开发的系统架构的指导。在开发任何应用程序时,我们都应该考虑现实世界的场景,比如其他应用程序的工作方式。拥有这些想法将帮助我们以更好的方式开发我们的应用程序。
高级设计(HLD)
HLD 是一种出色的沟通和协作工具。与许多其他可用于提高交付质量的工具和文档一样,HLD 在项目的设计阶段发挥着特定的作用。
HLD 文档本质上是对功能需求的技术描述,它还涵盖了对系统的各种子系统和组件如何交互的快速总结。它基本上给出了一个 鸟瞰图 的整个系统。它是 蓝图 它整合了应用程序架构、应用程序流程、涉及的各种系统、步骤和模块、它们的目标、可变组件以及模块之间的关系。它还包括非功能性需求的一些非常重要的方面,例如预期的并发请求数量、访问系统的总体用户数量、性能和延迟考虑以及未来增长。
HLD 文档包括架构计划和图表、应用程序模块、系统流程、数据流和流程图,以便开发人员可以了解系统的预期工作方式。它描述了系统的各种组件和功能之间的关系。它定义了系统每个模块的实际逻辑,以了解整个系统的流程。
低级设计(LLD)
LLD 就像细化 HLD,指的是组件级设计过程。它基于 HLD,但更深入地挖掘,进入单独的模块和功能以记录它们的规范。
高级设计有助于 什么 ,而底层设计就是 怎么样 .
当我们进行低级设计时,我们的想法是深入了解应用程序的细节。低级设计文档通常是包含开发人员伪代码的繁重、庞大的文档。它详细介绍了组件和类的工作方式、类的各种属性、数据库的定义和接口。
开发人员通常会匆忙完成低级设计阶段以节省时间,但由于设计过程较浅,他们最终将这些时间花在返工和解决错误上。
准备低级设计的主要目标是通过清晰地布置细节来减轻开发人员在开发阶段面临的任何额外负担。
编写技术文档是构建软件不可或缺的一部分。做对了可以对你的交付质量产生巨大的影响。在数量和生产力之间找到适当的平衡可能需要时间,但值得。
另外,我观察到,当我们编写文档时,我们会思考并尝试更深入地挖掘以找出所有联系和系统。我们还将所有点连接在一起,设计一个覆盖整个地面的系统。这有助于我们找出所有未知数并找出有助于奠定基础工作的设计。它还有助于找到依赖关系并提前解决它们,这样我们就可以避免返工。
最后的话
你不能仅仅通过编写代码成为一名成功的软件开发人员。您需要在编写文档方面做得更好。编写文档有助于形成您的想法,而这些文档有助于加快您的编码速度、执行速度,还有助于交付高质量的可交付成果。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明