V6091. Suspicious getter/setter implementation. The 'A' field should probably be returned/assigned instead.
Анализатор обнаружил геттер/сеттер, который обращается к полю, отличному от указанного в названии.
Такие ошибки обычно появляются вследствие невнимательности, неаккуратного использования автодополнения или copy-paste.
Рассмотрим пример, на котором анализатор выдаст предупреждение:
public class Vector2i
{
private int x;
private int y;
public void setX(int x)
{
this.x = x;
}
public int getX()
{
return x;
}
public void setY(int y)
{
this.y = y;
}
public int getY()
{
return x; // <=
}
}
Корректный вариант кода:
public class Vector2i
{
private int x;
private int y;
public void setX(int x)
{
this.x = x;
}
public int getX()
{
return x;
}
public void setY(int y)
{
this.y = y;
}
public int getY()
{
return y;
}
}
Для реализации таких методов лучше использовать возможности IDE или кодогенерацию, предоставляемую библиотекой Lombok.
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V6091. |