diff --git a/2024-12-29/lanzhouhailiang_one-master_merge-zhangzq-1735462858244-SURE.md b/2024-12-29/lanzhouhailiang_one-master_merge-zhangzq-1735462858244-SURE.md new file mode 100644 index 0000000..7117f22 --- /dev/null +++ b/2024-12-29/lanzhouhailiang_one-master_merge-zhangzq-1735462858244-SURE.md @@ -0,0 +1,38 @@ +### 代码评审 + +#### DruidFilter.java + +**改进点:** +1. **重复的`contains`检查:** + - 在`DruidFilter.java`的第53行,代码使用了两次`contains`方法来检查SQL字符串是否包含`sys_log`。如果这两个检查是独立的,那么应该分别进行。但如果它们是检查相同的目的,那么合并为一个条件检查会更清晰。 + ```java + if (!sql.contains("sys_log") && !sql.contains("sys_interface_log")) { + log.info("[----SQL----][update][ SQL: {} ]", executeSql); + } + ``` + - 这样做可以避免代码重复,并提高可读性。 + +2. **使用`SQLUtils.format`的必要性:** + - 如果`SQLUtils.format`只是简单地替换参数,那么在Java中直接使用`String.format`可能更简单和高效。检查是否有必要使用`SQLUtils.format`,因为它可能引入额外的性能开销。 + +**其他点:** +- 确保使用`SQLUtils.format`时,传入的`params`不是`null`,以避免`NullPointerException`。 + +#### WhiteListLogAspect.java + +**改进点:** +1. **注释掉的注解:** + - 在`WhiteListLogAspect.java`中,`@Aspect`和`@Component`注解被注释掉了。如果这个类被用于AOP和Spring容器管理,应该取消注释这些注解,以便它们能够正常工作。 + +2. **方法体缺失:** + - 在`doAround`方法中,没有提供实现代码。如果这个方法只是作为占位符,应该考虑将其移除或者提供一个实现,以避免误导。 + +3. **使用`logPointcut`:** + - 如果`@Around("logPointcut()")`被注释掉了,那么`logPointcut`切入点可能没有定义。如果需要使用它,应该确保它被定义并且正确配置。 + +**其他点:** +- 确保在使用`joinPoint.getArgs()`时,不会因为`joinPoint`为`null`而导致`NullPointerException`。 + +### 总结 + +这些代码改进可以提高代码的可读性、可维护性和性能。确保所有的代码变更都经过测试,以验证它们不会引入新的问题。 \ No newline at end of file