界: Code Quality

代码质量不佳会导致不可预测的行为。对于用户来说,通常表现为可用性差。对于攻击者来说,提供了以意外方式对系统施加压力的机会。

Code Correctness: Misleading Method Signature

Abstract
这看上去好像能替代通用的 .NET 方法,但实际上达不到预想的效果。
Explanation
该方法的名称与通用的 .NET 方法相似,但它要么存在拼写错误,要么是参数列表导致其无法替代预期的方法。

例 1:以下方法的目的是重写 System.Object.Equals()


public boolean Equals(string obj) {
...
}


但是,由于 System.Object.Equals() 采用 object 类型的参数,因此永远不会调用该方法。
References
[1] Standards Mapping - Common Weakness Enumeration CWE ID 398
desc.structural.dotnet.code_correctness_misleading_method_signature
Abstract
这看上去好像能替代通用的 Java 方法,但实际上并不能达到预想的效果。
Explanation
尽管该方法的名称与通用的 Java 方法相似,但它要么存在拼写错误,要么是参数列表导致其无法替代预期的方法。

例 1:以下方法的目的是重写 Object.equals()


public boolean equals(Object obj1, Object obj2) {
...
}


但是,由于 Object.equals() 只需要一个参数,因此永远不会调用Example 1 中的方法。
References
[1] Standards Mapping - Common Weakness Enumeration CWE ID 398
desc.structural.java.code_correctness_misleading_method_signature