我想给开发人员建议,例如:不建议使用System.currentTimeMillis((,并提供一些关于替代解决方案的意见。
AFAIK没有这样的声纳规则,我应该创建一个新规则还是可以选择参数化现有规则?
我发现不再支持针对java的xpath,所以我认为编写自定义规则是唯一的方法,这是对的吗?
您正在寻找模板规则S2253,它允许您标记对特定方法的调用。
下面是使用声纳设置自定义方法警告的示例:
@Rule(key = "NoObjectWaitRule", name = "NoObjectWaitRule", description = "You should not use classic wait/notify mechanism. Instead use Java Concurrency API.", priority = Priority.MAJOR, tags = { "bad-practice" }) public class NoObjectWaitRule extends DisallowedMethodCheck { public NoObjectWaitRule() { super.setClassName("java.lang.Object"); super.setMethodName("wait"); super.setAllOverloads(true); } }