我有一个接收对象并根据其检测到的对象类型执行某些操作的方法:
void receive(Object object) {
if (object instanceof ObjectTypeA) {
doSomethingA();
}
else {
if (object instanceof ObjectTypeB) {
doSomethingB();
}
else {
if (object instanceof ObjectTypeC) {
doSomethingC();
}
else {
if (object instanceof ObjectTypeD) {
doSomethingD();
}
else {
// etc...
}
}
}
}
}
如何降低环复杂性?我四处搜寻,但找不到任何有用的资讯。
问题内容: 我正在研究将RequestDTO发送到Web服务的类。我需要先验证请求,然后再发送。 可以从3个不同的地方发送请求,每个“ requesttype”都有不同的验证规则,例如request1必须具有名称和电话号码,request2必须具有地址,等等) 我有一个DTO,其中包含很长的字段列表(名称,地址,城市,电话号码等),无论请求是哪种类型,DTO都发送相同的消息。 我创建了3种不同的验
我有以下代码,我需要重构它,以降低复杂性,增加模块化和封装性。我还需要减少ck度量值。 你如何重构这个代码?切换案例是否降低了复杂性?
如何降低给定代码段的复杂性?我在Sonarqube中得到了这个错误-->重构这个方法,将其认知复杂度从21降低到允许的15。
我在重构这部分代码时遇到了问题。如何降低该代码的认知复杂性
我有一个方法,把罗马数字转换为公共十进制。我在这里用了一个循环和很多“if”条件。我的IDE中的SonarLint告诉我,这种方法的认知复杂度为33,而允许的复杂度为15。我怎样才能减少这个?我不介意如何解决这个问题。等待你的赔偿!