我开发了一个 Android 应用程序,并使用 Gerrit 和 Jenkins 与 Lint。
工作流程是:推送到 Gerrit -> 在 Jenkins 上开始构建 -> 通过 Lint 进行验证。
我的 Lint 警告阈值是 1,通常我可以毫无问题地达到它。现在,经过更大的更改后,我收到 4 个错误/警告,其中每两个都是相同的:
因此,当我超过阈值 3 时,我的构建失败了。
我创建了一个新的 Lint 基线,但错误保持不变。我还检查了 Jenkins 上的新基线文件是否与新创建的文件匹配,结果确实如此。
我的问题:
当然,我可以提高阈值,但这并不能让我理解错误是什么;)
如果我使用枚举来确定任务的类型.
public enum TaskType {
TYPE_ONE("Type1"),TYPE_TWO("Type2"),TYPE_THREE("Type3");
private final String type;
private StageType(String type) {
this.type = type;
}
@Override
public String toString() {
return type;
}
}
Run Code Online (Sandbox Code Playgroud)
我如何在我的申请中保证一点
if(taskType == TaskType.TYPE_ONE) {
typeOneProcessing();
} else if(taskType == TaskType.TYPE_TWO) {
typeTwoProcessing();
} else if(taskType == TaskType.TYPE_THREE) {
typeThreeProcessing();
}
Run Code Online (Sandbox Code Playgroud)
是否使用了每个枚举值?
我的意思是如果有一天我需要添加一个新的TYPE_FOUR,我需要找到我使用枚举的代码中的每个地方,所以我问自己是否有更好的方法以便我要么避免枚举并使用其他的概念或我可以确保在该段代码中使用枚举的每个值.