reactjs 如何解决sonarQube重行问题?

myss37ts  于 2023-05-28  发布在  React
关注(0)|答案(1)|浏览(493)

我把我的代码放到GitLab中。但我的管道给我一个sonarqube问题。在Sonarqube,我面临着重复线路的问题。我不知道如何解决这个问题。有人能帮助我理解并解决SonarQube中的重复行问题吗?
我想在我的代码中实现0%的重复行。如果我能理解我是如何得到这个错误的,我将能够解决这个问题。

import React from "react";
import { OutlinedInputProps, TextField, TextFieldProps, alpha, styled } from "@material-ui/core";
const TextInput = styled((props: TextFieldProps) => (
<TextField
  InputProps={{
    disableUnderline: true,
    sx: {
      '& input::placeholder': {
        color: "red !important" // Change to desired color
      }
    }
  } as Partial<OutlinedInputProps>}
  {...props}
/>
))(({ theme }) => ({
'& .MuiFilledInput-root': {
  border: '1px solid #FEE7D7',
  width: '410px',
  overflow: 'hidden',
  borderRadius: "8px",
  backgroundColor: '#fcfcfb',
  fontFamily:"Montserrat",
  transition: theme.transitions.create([
    'border-color',
    'background-color',
    'box-shadow',
  ]),
  '&:hover': {
    backgroundColor: 'transparent',
  },
  '&.Mui-focused': {
    backgroundColor: 'transparent',
    boxShadow: ${alpha("#FEE7D7", 0.25)} 0 0 0 2px,
    borderColor: "#FEE7D7",
  },
  '.MuiFormLabel-root.Mui-focused': {
    color: "red",
},
},
'& .MuiFilledInput-underline:after' : {
    borderBottom: '0px',
},
'& .MuiFilledInput-underline:before' : {
    borderBottom: '0px',
},
'& .MuiFormLabel-root.Mui-focused': {
    color: "#9D9D9D",
},
'& .MuiInputLabel-filled.MuiInputLabel-shrink': {
  transform: translate(12px, 9px) scale(0.88)
},
'& .MuiFormHelperText-root.MuiFormHelperText-contained.Mui-error':{
  fontFamily:"Montserrat !important",
  fontSize: "8px",
  lineHeight: "12px",
//  position: "absolute",
},
'& .MuiFormLabel-root.MuiInputLabel-root.MuiInputLabel-formControl.MuiInputLabel-animated.MuiInputLabel-filled':{
  fontFamily:"Montserrat!important",
  color: "#9D9D9D",
}
}));
export default TextInput;
sycxhyv7

sycxhyv71#

我猜你问这个问题是因为你不明白这个问题的含义。
我将描述一个导致您看到的问题的场景。
假设您在一个源文件中有一个方法,并且您意识到需要在另一个源文件中执行完全相同的操作。正确的解决方案是对代码进行结构化,以便两个源文件都可以使用相同的方法。相反,您决定简单地将第一个源文件中的方法中的所有代码复制到第二个源文件中的新方法中。使用这种廉价的解决方案会增加您的维护负担。如果在某个时候需要更改该代码块中的逻辑,则必须在两个位置正确更改。
当SonarQube运行扫描时,它可以检测到您有一个在两个或多个地方重复的非平凡块(大于几行)。这就是你得到的。
解决方案是正确地重构代码,这样你就不再有重复的代码块,你有一个单独的代码块,可以从两个需要该代码的地方使用。

相关问题