#dev #MongoDB #говно #work #log #JSON #api
Классические признаки макаки, которой кто-то разрешил использовать монгу:

1. Есть коллекция объектов, но если она пустая, то вместо неё может вернуться:

- []
- null
- "null"
- false

2. Обязательные поля отсутствуют или могут называться по-разному в разных объектах одной коллекции.

😐

@skobkin это проблемы, порождённые кривыми ЯП, которые такое позволяют.

@iron_bug Это можно сделать где угодно.
Просто разработчику должно быть в достаточной степени похуй.

@iron_bug @skobkin такой бардак есть только в жабаскрипте и прочем скриптовом мусоре. в ЯП со сторогой типизацией null один.

@iron_bug йобаный по голове.... Вот представь себе функцию на своем любимом, блядь, языке, православненьком, вот типа этой (lmdb.tech/doc/group__mdb.html#), тысячи их. Стандартный шаблон - функция может что то выполнить успешно или ответить ошибкой, все пока норм? А теперь представь себе, что какой-то идиот, вопреки всем установленным стандартам возвращает в качестве успеха, не знаю, скажем, 11, в качестве кода ошибки, скажем указатель на свежеаллоцированную на куче строку описания на рунглише вида "oshybka! oostrojsvo zanyato!". Могу я так сделать в твоем языке в котором нет бардака? Вот только кто из нас будет долбоебом в данном случае? Я или язык? От чего вот тебе спасает один нулл? Если я хочу вести себя как мудак - никакая строгая типизация не спасет! return static_cast<MyClass*>(1234) и все, эта херь еще даже какое-то время поработает прежде чем упасть с какой нибудь несвязанной ошибкой вида "не найден элемент мапе" из потрохов стл @skobkin

@iron_bug @skobkin @blue нет, не можешь. в этом моём языке так не делают. это скриптятина так делает.

@iron_bug что значит не делают? Ты лично знакома с каждым пользователем языка и прочла каждую строчку кода когда либо написанную? Или может быть прокремлевские сми внушили мне ложную информацию и на самом деле out of range и use after free вовсе не являются самими распространенными причинами уязвимостей? Да, вернуть из функции указатель на освобожденную память плохая идея, но так сделать можно. Считать что указатель указывает на данные заведомо ложного типа тоже плохая идея, но опять же, это с точки зрения синтаксиса языка вполне себе валидная практика У тебя претензия к языку, а с точки зрения языка так сделать валидно, значит этот язык ничем не лучше. Или у тебя и логика своя? "Вы не понимаете, это другое"? Так то в жаваскрипте так тоже не делают, это абсолютно такой же случай из ряда вон. Вот только он говно, потому что там можно себе выстрелить в ногу а сишечка нет, потому что тоже можно выстрелить себе в ногу, смотри не перепутай @skobkin

@iron_bug @skobkin @blue единственной причиной уязвимостей является глупость. и скрипты плодят её.

@skobkin @iron_bug @blue тока пустая коллекция это [] лол

@sunchaser @iron_bug @blue Ну.
А они кроме этого могут вернуть ещё три варианта включая строку.

@skobkin @iron_bug @blue я промахнулся. Хотел айрон багу на нулл ответить

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml