﻿# V8033\. Two similar code fragments were found\. A second fragment may contain a typo\.

Анализатор обнаружил потенциальную опечатку: в коде используется идентификатор \(локальная переменная, поле, параметр или функция\) который, скорее всего, должен быть заменён другим идентификатором\. На это указывает наличие структурно похожего фрагмента кода, который, вероятно, послужил шаблоном при написании текущего\.

Рассмотрим пример N1:

```cpp
if currentUser != nil 
{ 
  updateProfile(currentUser)
  sendNotification(currentUser)
} 
if newUser != nil 
{ 
  updateProfile(newUser)
  sendNotification(currentUser)
}
```

Во втором `if` вместо переменной `currentUser` должна использоваться переменная `newUser`\. Корректный код выглядит так:

```cpp
if currentUser != nil 
{ 
  updateProfile(currentUser)
  sendNotification(currentUser)
} 
if newUser != nil 
{ 
  updateProfile(newUser)
  sendNotification(newUser)
}
```

Рассмотрим пример N2:

```cpp
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`\. Корректный вариант будет выглядеть так:

```cpp
if FindMin(xCoords) < FindMin(yCoords) {
  minBoundary = FindMin(xCoords)
} else {
  minBoundary = FindMin(yCoords)
}

if FindMax(xCoords) < FindMax(yCoords) {
  maxBoundary = FindMax(yCoords)
} else {
  maxBoundary = FindMax(xCoords)
}
```