#dev #MongoDB #говно #work #log #JSON #api
Классические признаки макаки, которой кто-то разрешил использовать монгу:
1. Есть коллекция объектов, но если она пустая, то вместо неё может вернуться:
- []
- null
- "null"
- false
2. Обязательные поля отсутствуют или могут называться по-разному в разных объектах одной коллекции.
😐
@iron_bug Это можно сделать где угодно.
Просто разработчику должно быть в достаточной степени похуй.
@iron_bug йобаный по голове.... Вот представь себе функцию на своем любимом, блядь, языке, православненьком, вот типа этой (http://www.lmdb.tech/doc/group__mdb.html#gac08cad5b096925642ca359a6d6f0562a), тысячи их. Стандартный шаблон - функция может что то выполнить успешно или ответить ошибкой, все пока норм? А теперь представь себе, что какой-то идиот, вопреки всем установленным стандартам возвращает в качестве успеха, не знаю, скажем, 11, в качестве кода ошибки, скажем указатель на свежеаллоцированную на куче строку описания на рунглише вида "oshybka! oostrojsvo zanyato!". Могу я так сделать в твоем языке в котором нет бардака? Вот только кто из нас будет долбоебом в данном случае? Я или язык? От чего вот тебе спасает один нулл? Если я хочу вести себя как мудак - никакая строгая типизация не спасет! return static_cast<MyClass*>(1234) и все, эта херь еще даже какое-то время поработает прежде чем упасть с какой нибудь несвязанной ошибкой вида "не найден элемент мапе" из потрохов стл @skobkin
@iron_bug что значит не делают? Ты лично знакома с каждым пользователем языка и прочла каждую строчку кода когда либо написанную? Или может быть прокремлевские сми внушили мне ложную информацию и на самом деле out of range и use after free вовсе не являются самими распространенными причинами уязвимостей? Да, вернуть из функции указатель на освобожденную память плохая идея, но так сделать можно. Считать что указатель указывает на данные заведомо ложного типа тоже плохая идея, но опять же, это с точки зрения синтаксиса языка вполне себе валидная практика У тебя претензия к языку, а с точки зрения языка так сделать валидно, значит этот язык ничем не лучше. Или у тебя и логика своя? "Вы не понимаете, это другое"? Так то в жаваскрипте так тоже не делают, это абсолютно такой же случай из ряда вон. Вот только он говно, потому что там можно себе выстрелить в ногу а сишечка нет, потому что тоже можно выстрелить себе в ногу, смотри не перепутай @skobkin