ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

我学到的如何结构化代码的五堂课

2022-01-09 20:31:08  阅读:170  来源: 互联网

标签:学到 结构化 函数 代码 单元测试 编写 设计模式 五堂 约定


  从此列表中受益,以改善代码的结构

  结构化代码是编码的困难但至关重要的部分。 编写结构良好的代码需要适当的思考,对设计模式的理解和经验。 但是,这些课程通常是很难学的。

  不应低估结构化代码的重要性-从可读性和可维护性的角度来看,结构化代码非常重要。

  这是改善代码结构的方法。

  第1课:设计

  在直接进行编码之前,最好考虑一下如何设计要构建的应用程序。 做到这一点的一种好方法是使用UML图。

  在开始编写代码之前先制定计划可使您专注。 考虑代码的结构并创建一些对您有用的UML图将消除最明显的缺陷。 最重要的是,它可以使您更多地意识到在编写代码之前有很多事情要考虑的事实。

  通过创建的UML图,您可以不让思想浮出水面或添加一些您认为将来可能有用的不必要的功能。

  不花时间设计应用程序可能会给您一个领先的机会,但最终会折磨您。 这将导致不得不重构大量的代码,这会花费大量的时间(和动力)。

  花一些时间设计您的应用程序,它会得到回报。

  第2课:代码约定

  构建代码的很大一部分与代码约定有关。 代码约定是每个项目的必备条件。 没有编码约定,您的代码将在一段时间内变成难以理解的混乱。

  列出编码约定,在其中记录应如何声明变量以及一些命名约定等。可以添加到此列表的规则数量是无限的,并且规则数量可以变化。 做对您和您的团队有用的事情。 如果团队愿意,可以随时将新规则添加到约定列表中。 从列表中删除约定也是如此。

  获得该列表后,请坚持!

  第3课:类和函数的准则

  为了保持类和函数的可读性和可维护性,您可以遵循一些准则:

  · 使类和函数保持较小

  · 让类和函数遵循单一职责原则(SRP)

  保持类和函数尽可能小有助于使代码更易于理解。 根据经验,将较大的类和功能分成较小的专用类。

  遵循单一责任原则,这意味着每个类和功能都应该做一件事。 仅此而已。 这可以帮助您使函数和类保持较小。 将此限制在合理范围内。 大多数情况下,太多的小班要比几个大班差很多。

  遵循SRP时,获取,处理和存储数据的大型功能是行不通的。 或者,您必须将此功能拆分为三个较小的函数:一个用于提取,一个用于处理,另一个用于存储数据。

  第4课:使用设计模式

  学习设计模式及其工作方式是帮助构建代码并编写可读且可维护的代码的好方法。

  知道在某些情况下可以使用哪种设计模式,将为您带来不必自己提出半成品解决方案的优点。 只需遵循设计原则,您的代码肯定会保持良好状态。

  注意不要过度使用设计模式-这是使用设计模式时最常见的陷阱。 尽管您可以在特定情况下实施设计模式,但这并不意味着您应该这样做。 这将对您不利,并且您将获得一个过度设计的应用程序,其他开发人员很难掌握。

  第5课:编写单元测试

  编写单元测试有很大的副作用,它迫使您构造代码。 为了能够为您的代码编写单元测试,至少应正确构建代码。

  您可能之前曾听说过不可测试的代码,也可能是自己编写的。 如果您不知道如何为一段代码编写单元测试,则可能是因为它执行了太多操作或设计不当。

  无论哪种方式,可以肯定地说处理不可测试的代码都有一个原因:结构不良的代码。 每当遇到无法测试的代码时,您大部分时间都会进行重构。

  单元测试可以用作迫使您构造代码的重要工具。

  总结

  您可以做一些事情来构造代码。 这一切都始于您开始输入第一个字母代码之前。 考虑您的应用程序的设计。 创建UML图可以帮助您消除最明显的缺陷。

  每当您准备编写代码时,请确保您拥有要遵循的代码约定列表。 这有助于使您的代码具有可读性和可维护性。 了解设计模式并实施它们可以帮助您实现这一目标。 减小类和函数的大小并使它们仅做一件事。

  最后但并非最不重要的一点是,开始编写单元测试。 单元测试会迫使您编写结构化代码,因为如果不这样做,您将得到一堆无法测试的代码。

  谢谢阅读!

标签:学到,结构化,函数,代码,单元测试,编写,设计模式,五堂,约定
来源: https://www.cnblogs.com/linjingyg/p/15782104.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有