作者:香音的茶 | 来源:互联网 | 2023-01-23 23:41
声纳规则squid:S2384引发了这个代码的问题:
public Date getCreatedOn() {
return createdOn;
}
遵循规则不应存储或直接返回Mutable成员
我明白我们不应该返回原文,而是应该返回该对象的副本.
另一方面,Sonar没有就此代码提出问题:
public Date getCreatedOn() {
return this.createdOn;
}
是什么让这个代码不同?
我们是不是在第二种情况下退回原件?
1> Tibor Blenes..:
这是SonarJava(SonarQube平台中使用的Java静态代码分析器)检测到此问题的方式的缺陷.我创建了以下故障单以改进实现,以涵盖使用返回字段时的情况this
.
https://jira.sonarsource.com/browse/SONARJAVA-2424