代码审计必要性探讨

1、背景

为了保证代码的质量,需要一系列的流程来进行保证:

今天要探讨的是代码审计的必要性。

2、代码审计

代码审计的做法多种多样,我理解必须解决以下问题 ,才可能有效:

  • 核心:审计的本质是对比,必须用一个数据与一个预期的数据进行比对
  • 稳定:审计程序需要稳定,不能经常变更。经常变更带来的是审计程序自身的bug。
  • 简单:审计程序应该尽量简单,不应该比业务逻辑还复杂。否则,靠什么保证审计程序的正确性呢?

下面对比下代码审计的几种方式:

|--------------------------------------------------------|------------------------|---------------------------------------------------------------------------------------------------------------------------|
| 方案 | 优点 | 缺点 |
| 明细数据与汇总数据的对比:比如有一张表是明细数据,一张是定期汇总后的数据,为了保证数据的正确性,定期进行审计 | 1、对比的双方非常明确 2、审计程序简单易懂 | 字段的变化会引起审计程序的不稳定 |
| 审计请求参数的正确性:参数数量、必填、正确性 | | 1、对比双方不清晰,因为请求参数可能来源于多张表,而且经过处理之后的数据,无法直接获取到。 2、基本上是每个请求的审计都需要单独写,请求发生改变就要同步调整 3、审计程序,与业务实现逻辑基本类似 4、如何保证审计程序的正确性、及时性是个难题。 |

方案1能起到一定的审计作用。

方案2难度较大,收益不明显,不如把该环节前移到单元测试阶段执行。

相关推荐
5系暗夜孤魂z3 天前
优雅的.net REST API之FastEndpoints
log4j·.net
名字还没想好☜3 天前
Go 表驱动测试实战:用 t.Run 子测试组织可维护的单元测试
golang·单元测试·log4j·go·testing
老白干3 天前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j
森叶5 天前
用 DataTransfer 模拟“用户选择本地文件“:不用系统对话框,也能给 `<input type=“file“>` 塞进真实文件
java·开发语言·log4j
2601_9647028911 天前
Claude Opus 5 API 新手指南:从零搭建第一个 AI 应用
人工智能·log4j
测试修炼手册14 天前
[测试技术] TestNG 入门与实战:分组、数据驱动与并行执行
junit·单元测试·log4j
在水一缸15 天前
深入浅出 Catch2:现代 C++ 测试框架的优雅实践
开发语言·c++·单元测试·log4j·测试框架·catch2
风向决定发型d78218 天前
Github Copilot 实战应用与效能提升指南
log4j·github·copilot
AI大模型-小雄22 天前
充值Codex + GPT-5.5 并发 Bug 调试实战:从时序分析到回归测试
gpt·log4j·bug
JustNow_Man23 天前
【OpenSpec】/opsx:archive 的作用是什么解析
log4j