让我们想象一下一个简单的结构:如何降低一个onClick()方法中圈复杂度
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_first: {
// some code
}
break;
case R.id.btn_second: {
// some code
}
break;
case R.id.btn_third: {
// some code
}
break;
// and so on
}
}
这是处理不同的按钮点击代码微不足道的一块。但随着按钮数量的增加 - switch
块的圈复杂度随之增加。有没有另外一种方法来表示这种代码结构,以减少onClick()
方法的圈复杂度?提前致谢。
不,没有其他的可能性 – Blood
选项1:每个按钮使用一个点击处理程序。选项2:将组按钮转换为点击处理程序,并使用短开关语句的几个点击处理程序。选项3:将点击处理委托给视图(请参阅下面的Ryan Stewart答案)。 – DwB