Анализатор обнаружил потенциальную опечатку: в коде используется идентификатор (локальная переменная, поле, параметр или функция) который, скорее всего, должен быть заменён другим идентификатором. На это указывает наличие структурно похожего фрагмента кода, который, вероятно, послужил шаблоном при написании текущего.
Рассмотрим пример N1:
if currentUser != nil
{
updateProfile(currentUser)
sendNotification(currentUser)
}
if newUser != nil
{
updateProfile(newUser)
sendNotification(currentUser)
}
Во втором if вместо переменной currentUser должна использоваться переменная newUser. Корректный код выглядит так:
if currentUser != nil
{
updateProfile(currentUser)
sendNotification(currentUser)
}
if newUser != nil
{
updateProfile(newUser)
sendNotification(newUser)
}
Рассмотрим пример N2:
if FindMin(xCoords) < FindMin(yCoords) {
minBoundary = FindMin(xCoords)
} else {
minBoundary = FindMin(yCoords)
}
if FindMax(xCoords) < FindMax(yCoords) {
maxBoundary = FindMin(yCoords) // <=
} else {
maxBoundary = FindMax(xCoords)
}
В then-блоке второго if вместо FindMin должен вызываться FindMax. Корректный вариант будет выглядеть так:
if FindMin(xCoords) < FindMin(yCoords) {
minBoundary = FindMin(xCoords)
} else {
minBoundary = FindMin(yCoords)
}
if FindMax(xCoords) < FindMax(yCoords) {
maxBoundary = FindMax(yCoords)
} else {
maxBoundary = FindMax(xCoords)
}
Диагностическое правило классифицируется как:
Была ли полезна эта страница документации?