Мир мой сжался до размеров рабочего стола, до экрана монитора, до наушников, в которых играет джаз, до блокнота. В него я заношу замечания и требования по доработке алгоритмов расчётов, записываю значения идентификаторов, для которых нужно выполнить пробный расчёт. Отладка и выверка данных один из самых трудоёмких процессов. В отличие от физических эталонов, например эталонов длины, времени или веса, тут нет абсолютных привязок. Получил расхождение в расчётах между старой системой и той, которую я сейчас внедряю. Но нельзя сказать, какой расчёт из них произведён правильно мой или же тот, который рассчитан в прежней системе. Конечно, хочется надеяться, что мой расчёт произведён без ошибок, что он дает правильный результат, но ведь это нужно доказать. А доказательство получается старым добрым способом, т.е. ручным расчётом. Вот и приходится каждое расхождение в расчёте выверять на калькуляторе. Постепенно моих ошибок выявляется всё меньше и меньше. Но если всё же появляются, то это происходит в экзотических случаях. Например, если человек пошёл отпуск 2-го числа, то мой алгоритм не включал первый рабочий день в общее число рабочих дней.
Есть такой способ тестирования приложения, это прогон на реальных данных. Как бы не был изощрён программист, не всё одно не сможет смоделировать всё многообразие возможных ситуаций. Радует то, что в результате выверки были выявлены ошибки в алгоритмах расчётов предыдущей системе. Поскольку мы пока ещё догоняем, приходится воспроизводить все ошибки расчётов, с тем, что бы списать их в следующих расчётных периодах. Но мы худо-бедно дело двигается, и я надеюсь, что следующий расчёт зарплаты будет произведён в нашей системе.
LI 3.9.25