LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

У меня была ситуация на JS, когда в БД лежал VARCHAR, а мой код ожидал BIGINT. В TypeScript (а куда без него и нормального автокомплита в IDE) всё было прекрасно проаннотированно как number, а по факту приезжал string. И проблема в том, что код работал. Просто странно. А в Java он бы сразу упал с ошибкой преобразования типов. Люди ошибаются (а те кто уверяют, что не ошибаются, ошибаются на порядок чаще), но если код упадёт, то его просто откатят на прошлую версию и создут новую таску в джире. А если код работает, но странно, то последствия могут быть любыми вплоть до многомиллиардных убытков, которые когда будут замечены уже будут слишком поздно.

Исходная версия KivApple, :

У меня была ситуация на JS, когда в БД лежал VARCHAR, а мой код ожидал BIGINT. В TypeScript (а куда без него и нормального автокомплита в IDE) всё было прекрасно проаннотированно как number, а по факту приезжал string. И проблема в том, что код работал. Просто странно. А в Java он бы сразу упал с ошибкой преобразования типов. Люди ошибаются (а те кто уверяют, что не ошибаются, ошибаются на порядок чаще), а банку чем меньше «работающего, но странно» кода, тем лучше. Потому что падающий код можно откатить на прошлую версию и дать задачу отделу разработки исправить, а «странно работающий» код может привести к большим убыткам, а странность будет замечена слишком поздно.