代码审计必要性探讨

1、背景

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

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

2、代码审计

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

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

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

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

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

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

相关推荐
学习论之费曼学习法2 天前
Agent评估与测试:如何确保AI系统的可靠性
人工智能·log4j
北风toto2 天前
log4j中文日志乱码问号-Linux启动jar包,输出中文日志变成问号?
linux·log4j·jar
ppandss13 天前
JavaWeb从0到1-DAY5.1-Maven-JUnit
junit·log4j·maven
0和1的搬运工4 天前
基于Java+SpringBoot+Vue+HTML5高校教师电子名片系统(源码+LW+调试文档+讲解等)/高校教师/电子名片/系统/教育科技/教育信息化/名片管理/电子身份/教师信息管理/校园信息化
spring cloud·tomcat·log4j·maven·intellij-idea·dubbo·java-consul
铁皮哥4 天前
【后端开发】@Resource 和 @Autowired 到底有什么区别?为什么现在更推荐构造方法注入?
java·ide·spring boot·tomcat·log4j·idea·intellij idea
张小洛6 天前
Spring 常用类深度剖析(工具篇 05):Assert:用断言代替 if-throw,代码更清爽
spring·log4j·参数校验·validate·assert·spring 常用类·代码简化
薛定猫AI7 天前
【深度解析】DeepSeek V4 + Cloud Code:构建低成本、高吞吐的混合 AI 编码工作流
人工智能·log4j
卷卷说风控7 天前
【卷卷观察】Claude Code 换脑子:DeepSeek V4 Pro 让你的 AI 编程便宜17倍
log4j
likerhood9 天前
SLF4J: Failed to load class “StaticLoggerBinder“ 解决
java·log4j·maven
:mnong10 天前
理解 AI 时代的软件范式
人工智能·log4j