Потому что без воды и ни туды, и ни сюды
Работаю сисадмином в общепите. Попросили меня добавить в программу расчёт калорийности блюд. Добавил поля, написал отчёт, который рассчитывает и выводит данные по калориям. Обкатал это дело на тестовых данных. Все работает, считает правильно.
Воткнул в рабочую базу. Около недели тётеньки вбивали жиры, белки и углеводы в программу. Вбили. Вывели отчёт. И, как это обычно бывает, в конце рабочего дня проверили — не сошлось. Да и фиг бы с ним, на следующий день отложить можно, но начальство сказало разобраться сегодня.
Около двух часов после окончания рабочего дня я сидел и искал ошибку. Проверял код, что-то правил, пересчитывал вручную некоторые блюда. Что-то сходится, что-то нет. Переделывал обработку исключительных ситуаций, проверял расчёт, удалял в базе ошибочные записи. Стало лучше, ошибок меньше, но результат прежний: некоторые блюда считает неправильно. Кипящий мозг просил перекура, во время которого осенило, что проблема во входных данных. Но в которых именно, непонятно. Посидел, подумал, сверил некоторые позиции со справочником. Вроде всё правильно вводили. Странно…
Тут вдруг тётеньки позвали пить чай. Беру кружку, иду к ним в кабинет. Время позднее, почти все давно дома, а мы чаи гоняем. Беру хлеб, колбаску, огурчик — вот бутерброд. В кружку кидаю сахар, пакетик чая. Чего-то не хватает…
И тут меня осеняет: не хватает воды! Когда вбивали состав блюд, забыли вписать туда воду. Да, калорий в ней нет. Но есть объём и масса, за счёт которых калорийность на 100 граммов понижается. Вот и считала программа, что супы, бульоны и компоты без воды делают.
Причина найдена, можно идти домой. А тётеньки пущай завтра в программу воду льют.