gpt4 book ai didi

javascript - 定义一个常量而不是将这个文字复制 3 次 sonar

转载 作者:行者123 更新时间:2023-12-01 23:57:17 26 4
gpt4 key购买 nike

我想知道如何重构以下内容。基本上,在我从谷歌获得用户信息后,它会被验证,因为可能允许特定的域。如果它通过了那个,我们将根据后端 API 验证 token 。

Sonar 提示 return displayAlert('LoginFailed') 三次。鉴于这些方法具有独特的用途,我想知道可以做些什么来改进它?

import React, {useContext} from 'react';
import {View, Alert} from 'react-native';
import {LocalizationContext} from 'library/localization';
import ServiceAuth from 'services/ServiceAuth';
import {saveLoggedInDetails} from 'library/userInformation';

const MyComponent = (props) => {
const {translations} = useContext(LocalizationContext);

const displayAlert = (msg) =>{
//translations happen here
Alert.alert("Failed", msg)
return false;
}


const validateToken = async (userGoogleInfo) => {
const {idToken} = userGoogleInfo;
let serviceAuth = ServiceAuth.getInstance();
try {
return await serviceAuth.validateT(idToken);
} catch (error) {
//show alert here
return displayAlert('LoginFailed')
}
};


const authorize = async (userGoogleInfo) => {
const allowedDomains = [];
let reply = {ok: false};
//check if domain is allowed etc and set to true.
if (!reply['ok']) {
return displayAlert('InvalidDomain');
}

try {
const userInfo = await validateToken(userGoogleInfo);

if (userInfo) {
console.log("okay")
} else {
return displayAlert('LoginFailed')
}
} catch (error) {
return displayAlert('LoginFailed')
}
};

return (
<>
<View>
<Text>Hello</Text>
</View>
</>
);
};
export default MyComponent;

最佳答案

消息有点困惑,但 Sonar 仅提示 LoginFailed 字符串作为参数使用了三次。

创建一个常量,例如:

const LOGIN_FAILED = 'LoginFailed';

然后在对 displayAlert 的所有三个调用中使用它:

return displayAlert(LOGIN_FAILED);

关于javascript - 定义一个常量而不是将这个文字复制 3 次 sonar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62544907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com