• 作者:老汪软件技巧
  • 发表时间:2024-11-02 11:01
  • 浏览量:169

本文首先介绍了遗留代码的概念,并对遗留代码进行了分类。针对不同类型的遗留代码,提供了相应的处理策略。此外,本文重点介绍了通义灵码在维护遗留代码过程中能提供哪些支持。

什么是遗留代码

与过时技术相关的代码:

为兼容老旧功能而保留的代码:

缺乏文档和维护的代码:

解决遗留代码的方法

解决遗留代码有以下三种常见的处理方法:

根据上述描述,补充单元测试是一种有效解决遗留代码问题的方法。然而,这种方法仍然存在一些问题:

单元测试常见的误区选择性的进行单元测试

单元测试除了带来收益外,本身也会产生一定的成本。如果从收益与成本的角度分析遗留代码,将有助于明确为遗留代码补充单元测试的策略,此策略被称为选择性单元测试。那么,如何界定成本与收益呢?

遗留代码单元测试的成本收益象限分类

针对遗留代码的单元测试,可以根据其成本和收益进行象限分类。根据下图,对分类标准和各象限进行详细说明:

图片

分类标准四个象限

圈复杂度与依赖的概念理解不同类型代码的处理策略

根据上述的分析,遗留代码的处理策略就变得十分明确:

图片

使用通义灵码处理遗留代码1. 了解项目工程

在维护一个工程的遗留代码,首先可通过@workspace 功能了解整个工程的目的及其涉及的各个模块。

图片

_运用通义灵码有效管理遗留代码:提升代码质量与可维护性_运用通义灵码有效管理遗留代码:提升代码质量与可维护性

2. 对不同类型代码进行处理

1)针对算法类(Algorithms)代码生成单元测试

选中需要基于生产代码进行代码生成的部分。在生成时,请注意所需的框架及 Mock 等依赖信息,可以通过生成单元测试命令后追加相关信息进行补充。如/generate unit testingCppUTest。

一般而言,基于现有代码生成的单元测试用例数量通常较为有限。如果对单元测试的测试场景及用例数量有具体要求,可以在新生成的单元测试文件中,通过测试函数的续写方式生成更多的单元测试。在续写过程中,通义灵码将尽可能遵循已有用例,以此作为上下文进行参考。

2)针对协调类代码(Coordinators)进行接口测试

对于协调类代码而言,单元测试并不是一种理想的解决方案,由于存在过多的依赖,测试成本显著提高。针对此类代码,应该采用接口测试或功能测试的方式进行覆盖,然而在编写自动化测试用例时,开发者常常会遇到相关问题。因此,可以通过通义灵码,快速掌握并理解测试框架。

针对用例的编写,可以选择相应的被测函数,并在问答区中直接提问:基于 Robot Framework 生成以下代码的测试用例。沿着这一思路,同样可以实现相应的 Keywords 等内容。

3)超复杂的代码(Overcomplicated Code)找机会进行重构

针对超复杂的代码,可以使用通义灵码的/generate optimization 命令,以获得针对所选代码的优化建议。代码审查与优化将从语法问题、异常改进、代码整洁度、安全性及风险等多个维度给出相应的优化建议。

针对复杂遗留代码的优化,并不建议开发者们盲目进行全面的优化和重构。遗留代码的变更可能会带来巨大的风险。因此,开发者应根据具体情况,在合适的机会,遵守童子军法则,进行重构和优化。在这一过程中,通义灵码也将为您提供有力支持。

结语

以上便是在处理遗留代码时可参考的实践。处理遗留代码需要深入代码的复杂结构,细致地追踪每一个可能的分支节点。在这一过程中,除了识别并修复潜在的缺陷外,还必须在有限的时间内完成所有任务。为了避免这一局面的发生,最佳的策略是预防代码的腐化,善用工具,并在编写初期遵循良好的编程原则。

通义灵码一周年,福利大放送!

1)【一周年数据报】看年报,领机械键盘、手办、加薪水杯、T 恤等万份盲盒。

2)【有奖征文测评】机械键盘、华为智能手环等丰厚礼品等你来拿!

点击此处,看年报,开盲盒!


上一条查看详情 +Linux系统-救援模式
下一条 查看详情 +没有了
Top