在Sonarqube上,我把这个问题作为一个关键问题,有人能帮我解决这个问题吗。这里是代码的详细信息,请让我知道如何用开关情况重构此代码:
const getEmailTo = (subject) => {
switch (subject) {
case 'POWERUP_REWARDS':
return COMMON_EMAIL;
case 'GAME_INFORMER':
return COMMON_EMAIL;
case 'ONLINE_ORDER':
return 'test@gmail.com';
case 'STORE_EXPERIENCE':
return 'test@gmail.com';
case 'APP_REVIEW':
return COMMON_EMAIL;
case 'SOMETHING_ELSE':
return COMMON_EMAIL;
default:
return '';
}
};
通过收集返回相同值的常见情况,使代码更加简洁和简化。我不认为SonarQube能验证可读性,但正确使用空白可以大大提高不熟悉代码的可读性。这是固执己见,但我喜欢案件回报之间的界限。
const getEmailTo = (subject) => {
switch (subject) {
case 'POWERUP_REWARDS':
case 'GAME_INFORMER':
case 'APP_REVIEW':
case 'SOMETHING_ELSE':
return COMMON_EMAIL;
case 'ONLINE_ORDER':
case 'STORE_EXPERIENCE':
return 'test@gmail.com';
default:
return '';
}
};
我得到声纳警告来降低它的复杂性。我如何重构下面的代码,将其认知复杂度从18降低到允许的15?
> 如何重构该函数以减少复杂度 当我使用开关大小写时,代码的兼容性更高,那么如何减少它 如何实现此功能
如何降低给定代码段的复杂性?我在Sonarqube中得到了这个错误-->重构这个方法,将其认知复杂度从21降低到允许的15。
我在重构这部分代码时遇到了问题。如何降低该代码的认知复杂性
我使用的是SonarQube版本-6.7.7(LTS)和Python language analyzer插件版本-。 成功地完成了声纳分析,然后我可以看到“重构这个功能,将其认知复杂度从17降低到允许的15”相关问题被标记为关键问题。 我觉得这个问题应该归入主要(或)次要类别,但不是关键问题。