понедельник, 18 января 2021 г.

Сделал конвертеры типов для констант

 Думал, это больше займёт по времени, но таки сделал конвертеры типов. Теперь константы можно определять, задавая значение другого типа, и оно будет преобразовано к типу константы.

Определение констант со значениями другого типа

По ходу исправил несколько старых ошибок. Вспомнилось, как писал этот код - преобразование числа с плавающей точкой в токен.

Это довольно нетривиальная задача (встречал на форумах вопрос, как это сделать) с точки зрения большой вариативности. Когда вариативность маленькая - несколько перечислимых вариантов, то алгоритм написать просто. Когда вариантов много, то алгоритм сильно усложняется и при его составлении легко ошибиться сразу в нескольких местах.

Потом смотришь - все варианты вроде работают, но со временем вдруг выясняется, что один из вариантов работает неправильно. Начинаешь исправлять - съезжает что-то ещё. Сидишь, ломаешь голову, размышляя, а как оно должно быть на самом деле.

В случае со старыми алгоритмами даже в отладчике не так-то просто понять, а что там вообще происходит, в этой функции в 150 строк.

У одного коллеги была функция размером в 2 Мегабайта. Это было конечно эпично.

Итак, константы сделаны, я думаю, что наверное пора сделать переменные. Но это завтра - сегодня мозги уже немного "кипят". День прошёл в отладке.

Комментариев нет: