# V6121. Return value is not always used. Consider inspecting the 'foo' method.

Анализатор обнаружил потенциально ошибочное игнорирование возвращаемого значения, которое в большинстве случаев каким-либо образом используется.

Рассмотрим синтетический пример:

    class Item {
      int getID() {
        ....
      }
    }
    class ItemController {
      int setNewItem(Item lastItem) {
        Item newItem = new Item(lastItem.getID());
        ....
        newItem.getID();                            // <=
        return newItem.getID();
      }
    }

В данном примере возвращаемое значение метода 'getID' используется во всех случаях, кроме одного. Если результат не используется менее чем в 10% случаев от общего количества вызовов, анализатор выдаст предупреждение.

В некоторых ситуациях возвращаемое значение действительно не требуется использовать. Например, если метод имеет побочные эффекты (изменение свойств, полей, запись/чтение файла и прочее), возвращаемым значением можно пренебречь.

Чтобы помочь программисту понять, что такое поведение было задумано, можно оставить рядом с вызовом комментарий о том, что результат будет проигнорирован:

    int updateItem() {
      ....
      return 0;
    }
    ....
    void someMethod() {
      ....
      updateItem(); // ignore result
    }