做网站工资高么淘宝在线购物网站

当前位置: 首页 > news >正文

做网站工资高么,淘宝在线购物网站,网站主动服务方案,马鞍山做公司网站的本文首先介绍了遗留代码的概念#xff0c;并对遗留代码进行了分类。针对不同类型的遗留代码#xff0c;提供了相应的处理策略。此外#xff0c;本文重点介绍了通义灵码在维护遗留代码过程中能提供哪些支持。 什么是遗留代码 与过时技术相关的代码#xff1a; 与不再受支持的… 本文首先介绍了遗留代码的概念并对遗留代码进行了分类。针对不同类型的遗留代码提供了相应的处理策略。此外本文重点介绍了通义灵码在维护遗留代码过程中能提供哪些支持。 什么是遗留代码 与过时技术相关的代码 与不再受支持的操作系统或软件库相关的代码。 依赖于已淘汰的技术栈或编程语言的代码。 为兼容老旧功能而保留的代码 在现代软件中为了兼容旧版本功能而保留的代码片段。 为了确保向后兼容性而不得不保留的代码。 缺乏文档和维护的代码 没有良好文档支持的旧代码。 缺乏现代开发实践如单元测试、代码审查等的代码。
解决遗留代码的方法 解决遗留代码有以下三种常见的处理方法 处理方式 利弊 推翻重来 成本高系统正在运行会带来代码风险。 进行重构 补充单元测试 通过单元测试识别现有代码中的问题为未来可能的代码变更提供质量保障。
根据上述描述补充单元测试是一种有效解决遗留代码问题的方法。然而这种方法仍然存在一些问题 大量遗留代码缺少单元测试并且由于代码间的复杂依赖关系进行测试的成本非常高。 具体的衡量标准却不够清晰无法定义好的单元测试。 哪些代码需要添加单元测试
单元测试常见的误区 缺乏断言的假单元测试开发者可能会采取仅调用函数而不进行断言的方式以提高覆盖率指标导致了许多无效的单元测试。 把单元测试当成白盒测试一些观点将单元测试归类为白盒测试但实际上应将其视为针对函数签名的黑盒测试。 依赖真实环境的单元测试阻碍单元测试的主要因素包括惰性和依赖环境配置。若不使用Stub或Mock解除对外部环境如网络IP、数据库的依赖单元测试将难以达到FIRST原则快速、独立、可重复、自我验证、及时性。
选择性的进行单元测试 单元测试除了带来收益外本身也会产生一定的成本。如果从收益与成本的角度分析遗留代码将有助于明确为遗留代码补充单元测试的策略此策略被称为选择性单元测试。那么如何界定成本与收益呢 遗留代码单元测试的成本收益象限分类 针对遗留代码的单元测试可以根据其成本和收益进行象限分类。根据下图对分类标准和各象限进行详细说明 分类标准 X轴成本代码依赖程度越高测试成本越大。 Y轴收益代码复杂度越高质量收益越大。
四个象限 代码分类 特性 描述 收益 成本 算法类代码Algorithms Code 圈复杂度高扇入大。 包含较多条件判断和循环语句依赖其他代码少但被大量代码依赖。 高 低 琐碎代码 Trivial Code 圈复杂度小扇入大。 通常是一些简单的方法只有一两行代码。 低 低 协调类代码Coordinators Code 圈复杂度小扇出大。 处于调用关系的上层通过调用其他代码来反映特定业务场景。 低 高 复杂代码Overcomplicated Code 圈复杂度大扇出大。 逻辑复杂依赖多函数冗长且参数繁多是典型的代码异味。 高 高
圈复杂度与依赖的概念理解 圈复杂度Cyclomatic Complexity衡量代码中逻辑分支的数量。 扇入Fan-In直接调用该模块的上级模块的个数扇入大表示模块的复用程度高。 扇出Fan-out一个模块直接调用的其他模块的数量扇出大表示该模块依赖其他模块越多。
不同类型代码的处理策略 根据上述的分析遗留代码的处理策略就变得十分明确 算法类代码Algorithms Code生成单元测试。 协调类代码Coordinators Code进行接口测试。 复杂代码Overcomplicated Code寻找合适的机会进行重构。 琐碎代码Trivial Code不做处理。 使用通义灵码处理遗留代码

  1. 了解项目工程 在维护一个工程的遗留代码首先可通过 workspace 功能了解整个工程的目的及其涉及的各个模块。 2. 对不同类型代码进行处理 针对算法类Algorithms代码生成单元测试针对协调类代码Coordinators进行接口测试超复杂的代码Overcomplicated Code找机会进行重构 选中需要基于生产代码进行代码生成的部分。在生成时请注意所需的框架及Mock等依赖信息可以通过生成单元测试命令后追加相关信息进行补充。如 /generate unit testingCppUTest。 对于协调类代码而言单元测试并不是一种理想的解决方案由于存在过多的依赖测试成本显著提高。针对此类代码应该采用接口测试或功能测试的方式进行覆盖然而在编写自动化测试用例时开发者常常会遇到相关问题。因此可以通过通义灵码快速掌握并理解测试框架。 针对超复杂的代码可以使用通义灵码的 /generate optimization 命令以获得针对所选代码的优化建议。代码审查与优化将从语法问题、异常改进、代码整洁度、安全性及风险等多个维度给出相应的优化建议。
    一般而言基于现有代码生成的单元测试用例数量通常较为有限。如果对单元测试的测试场景及用例数量有具体要求可以在新生成的单元测试文件中通过测试函数的续写方式生成更多的单元测试。在续写过程中通义灵码将尽可能遵循已有用例以此作为上下文进行参考。 结语 以上便是在处理遗留代码时可参考的实践。处理遗留代码需要深入代码的复杂结构细致地追踪每一个可能的分支节点。在这一过程中除了识别并修复潜在的缺陷外还必须在有限的时间内完成所有任务。为了避免这一局面的发生最佳的策略是预防代码的腐化善用工具并在编写初期遵循良好的编程原则。