Диалог с программистом с "10-летним опытом"
Пишет Анонимус: «Хочу поделиться одним интересным диалогом, который мне пришлось наблюдать.
Призыв программистам, независимо от их достижений, оставаться нормальными людьми, а не превращаться в людей подобных тому, кто будет описан ниже.
Речь пойдёт о человеке Denis Efremov, известным как Piterden.
С первого взгляда выглядит как солидный программист, человек который участвует в достаточно крупных российских проектах, также поддерживает несколько репозиториев npm с достаточно большим кол-вом скачиваний.
На самом деле при всех вышесказанных фактах он не такой уж и известный, особенно если выйти с территории России, но и в ней большинство программистов не знают кто это такой.
Возникает вопрос — что может пойти не так? — А вот что.
На днях этот человек в чате поддержки разработчиков бекенда задал вопрос что такое дто, зачем они нужны и чем моно их заменить, посколько ему они не нравятся. На вопрос почему не нравятся один из ответов был буквами ДТО в названии файлов содержащие соотв. дто, и он говорил что если их убрать — ничего не изменится. И далее пояснял, что достаточно просто протипизировать обычным типом.
Самое первое, что приходит в голову когда узнаешь, что это за паттерн, это то, что дто — это класс, а значит в нём может быть как валидация, так и этот процесс может быть автоматизирован, что самое главное, а типы бл*дь — это типы, с ними ничего нельзя сделать, тем более когда речь идёт о TS. А вот как эта банальщина непонятна человеку с более чем 10-летним опытом работы — это просто выходит за пределы любого понимания.
Ничего, что это принято стандартом в программировании и так делают все. Попытки обьяснить ему что это и зачем — были бесполезны, человек стоял на своём и не хотел воспринимать то, что ему рассказывали. Идти против концепта, используемого во всём мире, потому что ты не умеешь думать и делать выводы — говорит о человеке достаточно.
На любые вопросы о том, понимает ли он что такое дто в целом, он не дал ни одного четкого ответа, а сразу переводил тему на какой-то бред. Ничего путного мы не услышали, кроме того, что он кидал в чат статьи о том, что дто это плохо. Статьи 10-летней давности.
Дто были придуманы для решения проблем паттернов по типу удалённых фасадов, которые пришли после того, как вышла статья. Это максимальное тупое решение опираться на подобные статьи.
Опишу как это выглядит в целом
Программист с более чем 10-летним опытом разработки (по его словам) не способен в инете глянуть что такое дто и сделать выводы и понять смысл этого по сути «детского паттерна», который лежит чуть ли на в основе бекенда. Понятно почему он не сталкнулся с этим ранее (как разработчик, кодящий на php и клиентском js), хотя это становится ясно и когда узнаешь, что он не мог понять, что это за паттерн.
Человек высказывал своё мнение и спорил в том, о чём даже не прочитал и не подумал головой зачем оно. Зато активно отбивался древними статьями, видимо ввиду отсутствия собственных мыслей. Как для человека с 10 годами опыта это казалось невозможно, но нет…
Зато он активно выпендривался своими достижениями в проектах и своими звездами гит хаба. Открыто демонстрируя своё чрезмерно завышеное ЧСВ и самооценку, и показывая всем, что он считает себя лучше чем остальные люди и, видимо, умнее.
Не надо брать примеры с таких дегенератов
Я ищу уязвимости в процессах трансфера денег для казино на всех стадиях как программного, так и физического аспектов. И это бл*дь важнее, сложнее, интереснее, чем любое достижение этого человека, но при этом не выёбываюсь этим и не ставлю себя лучше кого-то.
И мне плевать на все его достижения и где он там участвует, одна эта ситуация показала его суть.
У нескольких тысяч разработчиков достижения побольше будут, я общался более чем с сотней таких людей и мы спорили, и устраивали холивары, и все всегда это было конструктивно, и никто так себя не вёл по отношению к другим людям».
Прислал Анонимус
Комментарии (62)
Какая-то разборка в петушином углу
Не, в SoftServe все тихо
У нас тоже всё стабильно, к самым честным выборам готовимся.
Роисисосийкие петрушки кукарекают ойлоло.
Дто лежит в основе бекенда — мда автор эксперт как видно с 110 годами ‘опета’
Piterden — питушиный ник.
А мама и бабушка сказали, что звучит круто(
Да потому что мы с твоего рождения видели, какое уёбище растёт, и предложили тебе этот ник как красный флажок — чтобы нормальные люди прокажённого обходили стороной!
Не piterden, а питурден. Колготки на средней бритости ляхи, платьице на пузико, дилдак (или бутылку) в жопень и давай дёргать хиленький пиструнчик на JS.
На самом деле при всех вышесказанных фактах он не такой уж и известный, особенно если выйти с территории России, но и в ней большинство программистов не знают кто это такой.
Ебаное пробило очередное дно.
А меня мой друг Армен на вокзале в толчке, когда мне было 15.
Мой пиздюк писал статью!!!
Не смог переспорить — написал статью в ebanoe. Иди в пизду, нытик
На днях этот человек в чате поддержки разработчиков бекенда задал вопрос что такое дто, зачем они нужны и чем моно их заменить, посколько ему они не нравятся. На вопрос почему не нравятся один из ответов был буквами ДТО в названии файлов содержащие соотв. дто, и он говорил что если их убрать — ничего не изменится. И далее пояснял, что достаточно просто протипизировать обычным типом.
АЖ ЖЫР ТЕЧОТ
В ФИДО был типа женский персонаж, который задавал подобные идиотские вопросы. Так что ничего нового под солнцем.
Бля, сколько холиваров в инете происходит — автор решил осветить один единственный… какой-то заказной высер
Я ваша щека биточка оставлял.
А ведь много таких даунов, которые не знают, что такое дто, и получают от 300 тыр.
Вы ему еще про паттерны солид расскажите, он тогда вообще, наверное, на месте помрет от пукательной асфиксии (пукнет в себя и умрет).
Скажите а чем цикл for от while отличается???
Названием
Ну значит нахуй не всрался этот ваш дто. Иди вздрочни на него в уголке.
«Вы ему еще про паттерны солид расскажите»
да хоть солидол. Если бы этих сраных 5 букв было достаточно чтоб писать нормальное ПО то было бы легко. Ты блять хоть подумай на досуге что твои SOLID, YAGNI, KISS исповедуют порой противоречащие друг другу максимы, прежде чем слюной брызгать. Вы, 23-летние петушки просто больше нихуя и не знаете, а у опытного чувака эти буквы в голове и так есть, просто он их не зубрит наизусть.
«человек который участвует в достаточно крупных российских проектах», «не такой уж и известный, особенно если выйти с территории России»
Я просто ору с этих москалей! «Солидный программист», который сидит в Параше?! «разработчик, кодящий на php и клиентском js» — ну охуеть профи.
«Статьи 10-летней давности.» — да потому что узкие ИТшнитки не знают английского! Да-да они ждут пока книжки по новой технологии переведут на узкий язык — лет этак через 10. Когда читаю про таких северных дикарей «с лишней хромосомой» — то вспоиминаю анекдоты про чучкей. Например как чукча купил себе машину и запрягал в нее собак!
Нет, вы не подумайте — в Парашке есть и Интернет, и компьютеры, и программисты … вот только у них «своя атмосфера». Компьютеры похожи на самовары, интернет носят ведрами, а программист похож на медведя с балалайкой.
Ну и все разъемы почему-то походи на бутылки. Наверно так они к Матрице подключаются.
ПИТОРден и автор оба ебаньки. Первый из-за ника, а второй из-за работы на уебков(онлайн казино), главное ебанько ещё думает что ахуенный)
Пускай тебе присниться с пизды ресницами, хули, хаааа!1
На їбаному анон
Показав всім свій джейсон
І не просто показав
В дто-шку перегнав.
блять, типичная js макака, которая всю жизнь занималась формошлепством, из всех паттернов скорее всего он знает только синглтон, и то не факт, как он вообще тайпскрипт осилил
Так и нахуй оно все остальное нужно, если и так плотят 5к? Иди вздрочни на фабрику или на свою мамку)
я обычно хожу вздрочнуть не на фабрику, а к деду на завод
Онлайн казино важнее чего-то? Даун ебаный.
кстати, видел видео на ютабе, в нем чувак говорил, что один сотрудник у него на роботе (работает он в долине) с 25ти летним опытом, не знал, что такое ооп, солид, чисты код, и ебашил все функциями, как учили в двухтысячном году, бывают и такие люди
>кстати, видел видео на ютабе, в нем чувак говорил, что один сотрудник у него на роботе (работает он в долине) с 25ти летним опытом, не знал, что такое ооп, солид, чисты код, и ебашил все функциями, как учили в двухтысячном году, бывают и такие люди
Ну смотри. Дохуя ООПшных (я про джавафольклор) мемов идут нахуй, когда ты начинаешь писать на языке с REPL. Вот берём тот же питон. Или tcl. Или хоть тот же руби. Или из не особо распространённых поныне, лисп. Всё, с реплом ты начинаешь писать программу совершенно по-другому и (сюрприз-то какой, да?) почему-то начинаешь ебашить в основном функциями, причём, чаще всего чистыми.
С лиспом, кстати, положение становится ещё интереснее тем, что какой-нибудь паттерн можно взять и превратить в библиотечную функцию (макрос), после чего он таковым быть перестаёт и теряет важность после того, как ты достанешь себе какой-нибудь другой паттерн, который потом тоже станет макросом и ты к нему слегка подохладеешь, язык-то во все три парадигмы может и чуть больше. И разумеется, там свои локальные мемы и паттерны, которые не совсем сходятся с теми, что сейчас распиарены.
Если же писать на сишке, внезапно оказывается, что большая часть джавамемов тоже не нужна и ООП если есть, то довольно специфичное и тоже, внезапно, сводящееся к минимуму. А ещё в сишке до сих пор широко используют goto, да и в перле, прикинь! Не знают, что гоуту консидеред хармфул! Умные дяди же сказали!
Теперь трясём ФП. Дальше объяснять или сам поймёшь, что чистых функций становится всё больше, а применимости мемов из джавы как-то совсем не особо заметно? А там и функции высшего порядка пошли, и монадки с ленивым программированием… И продолжения в Scheme вылезли. Вроде интересные вещи, но на джаве их нет и никто их не считает высшей истиной, странно, правда?
Ну ладно, в сишке сделали ООП, в ФП-языках с горем пополам навертели ООП на лямбдах. А шелл? К нему-то вообще ООП если и вяжется, то определённо выглядит каким-то извращением. И что же, неужели на шелле надо писать дедовским способом, на функциях? А вместо того, чтобы писать в удобненький rabbitmq жсончик, неужели проще запилить пару пайпов? Или использовать конфиги уровня BSD-шных rc вместо развесистого YAML становится не в пример проще? Вот это новость!
В чём суть? Суть в том, что не надо местечковые мемы с сомнительной применимостью считать эталоном для кодинга. И тем более превозносить одну парадигму над всеми другими.
«Ну смотри. Дохуя ООПшных (я про джавафольклор) мемов идут нахуй, когда ты начинаешь писать на языке с REPL. Вот берём тот же питон.»
«В чём суть? Суть в том, что не надо местечковые мемы с сомнительной применимостью считать эталоном для кодинга. И тем более превозносить одну парадигму над всеми другими.»
помню случай когда сервак на питоне на 500 строк кода и 1 файл был переписан на дофига так файлов. Конечно 500 строк тоже не мало как для 1 файла, но кода стало намного больше — с классами, паттернами, да. А в питоне было написано по простому, процедурный стиль.
написание хорошего кода — это искусство, которое приходит спустя годы и годы опыта (а иногда и не приходит). Это не так просто что начитался советов, догм и всё — пишешь ну просто божественный код.
как-то один чувак на выступлении сказал что в программировании нет нормального стандарта — каждое новое поколение кодеров осваивает новые приёмы, потом понятие о хорошем коде постоянно меняется.
реквестирую статью на эту тему. давно пора продвигать философско-технический контент
Съеби на хабропарашу, уебок.
а в целом, высер ни о чем, один идиот-ноунейм жалуется на другого идиота-ноунейма, ебаное все так же скатывается в днину
>Самое первое, что приходит в голову когда узнаешь, что это за паттерн, это то, что дто — это класс, а значит в нём может быть как валидация, так и этот процесс может быть автоматизирован, что самое главное, а типы бл*дь — это типы, с ними ничего нельзя сделать, тем более когда речь идёт о TS.
А вот и сектанты в IT. Узнаёт такой сектант какую-нибудь парадигму, паттерн-хуяттерн и думает, что этой серебряной пулей можно и нужно заруливать весь мир, а все, кто думают иначе — ретрограды, макаки и вообще людьми не являются. Так на сектантах выросли микросервисы с докером, полезли прикручивать nosql куда не надо (БЫСТРАЖЕ) и обрабатывать четырёхгиговые датасеты в хадупе. А для того, чтобы включить вумную лампочку, надо подождать, пока JSON пройдёт 16 серверов в облаке филипса и вернётся обратно.
не чувак, dto — это база межлэерной коммуникации, это гавно нужно знать всем, иначе будет спагетти-гавно, а не код
>это гавно нужно знать всем, иначе будет спагетти-гавно, а не код
Потому что ты сказал?
>спагетти-гавно
А ты вообще видел настоящее спагетти-гавно? В первоначальном занчении этого слова?
«не чувак, dto — это база межлэерной коммуникации, это гавно нужно знать всем, иначе будет спагетти-гавно, а не код»
да хуле его там знать) В сишке уже лет 30 это используют без шума и пафосных названий
Какая в жопу сишка? Если это тупо plain object, который получил название из-за того, что стал костылем в Java Beans.
Заебали NIH синдромы..
Жук, быдлокодер, почини скролл до комментов. Заeбaлocь, что наверх кидает.
Это он специально чтобы ебаную рекламу смотрели
Начнем с того ,что DTO не антипаттерн, но то, как обосновали необходимость его применения выглядит еще хуже. Раз это стандарт, то tuj нужно запихивать везде, даже если это не распределенная система с разными источниками данных и нет необходимости менять возвращаемый объект?
Бомбануло неслабо у топикстартера.
Зашкварил Дениску по самые яйца на все интернеты.
Если ты не знаешь, что такое дто, то об этом узнают все.
Теперь у Дениски первый же вопрос на любом собесе будет про дто.
«Самое первое, что приходит в голову когда узнаешь, что это за паттерн, это то, что дто — это класс, а значит в нём может быть как валидация…»
Data Transfer Object, в отличие от business object или data access object не должен содержать какого-либо поведения.
Какая нахуй валидация ?
Annotations же ж з javax.validation
Само твоя деятельность связанная с казино уже грех и Русский Боженька накажет тебя. Может он послал сына своего Дениса с ДТО для выведения тебя из равновесия. Спроси любого Святого ФСБшника, он подтвердит что казино это зашквар из 90-х. Молись Господу чтобы он тебя простил и переведи деньги на счет Азов Батальона, дабы простил тебя Боженька.
> казино
Уязвимости оно ищет, паскуда ебаная.
Нихуя непонятно.
Программирование какое-то.
Все русские программисты должны перестать страдать хуйней и идти в наше ОКБ Алмаз Антон, где за приличную зарплату в 120 тыс рублей вы будете, сначала на бумаге карандашом, как и положено русским программистам, а потом уже в блокноте на виндус 95 делать программы для ракетных комплексов ПВО. Алгоритмы должны работать быстро как сверхзвуковой Кинжал, хихи, у нас много меташуток, русский ты наш программист. После 5-ти лет работы, ты наш русский программист, получишь звание подполковника и будешь под Полковником, хихи. Ну а за невыполнение плана, мы отправим тебя в отпуск, в Сибирь, в курортный город Иркутск 23, счётчик Гейгера выдадим бесплатно.
автор поста — очередной 23-летний синьор, и это торчит как уши большого жирного кроля. Прежде всего потому что вопрос — фуфловый.
«На вопрос почему не нравятся один из ответов был буквами ДТО в названии файлов содержащие соотв. дто»
какая-то безграмотная хуйня.
«Самое первое, что приходит в голову когда узнаешь, что это за паттерн, это то, что дто — это класс, а значит в нём может быть как валидация»
валидация в ДТО классе? Dto это обычно контейнер для данных, его обычно не отягощают какой-либо логикой, кроме случаев когда это можно прописать декларативно как в JSR-303, и то сам код валидации в них не находится.
короче какие-то 23-летние щеглы поспорили о вкусовщине. А о вкусах спорят обычно долбоёбы
по этому поводу мы тоже спорили с тим лидом и с другими челами, я тоже со временем перестал видеть смысл в дто, ты просто тупой и не понял что он имел в виду. DTO нарушают принцип сингл респонсибилити, особенно если речь идет о таких кейсах когда у тебя дто это не просто обертка для передачи куда-то данных, а еще и слой который эти данные сторит например в бд. Так вот по принципу сингл респонсибилити так не должно быть. Приведу пример, представь что у тебя есть клиент. ты получаешь с сервера пакован данных, потом ты их кэшируешь локально(в бд, в память). какую модель ты будешь использовать? есть извращенцы которые захуярят одну модель для всего, напихают туда аннотаций и для сериализации и для бд и для мэм кэша, и будут юзать по всему коду эту модель. Надеюсь не надо объяснять почему это хуево. и вот у тебя получается такой парадокс с одной стороны хреново делать все в одной модели ибо это будет кошмар для тестов и поддержки в будущем, с другой стороны чтоб сделать «правильно» тебе нужно создать три а то и 4 модели которые будут друг друга почти дублировать. Поэтому он и задает этот вопрос и пытается найти какое-то иное решение чем предлагает комьюнити.
«есть извращенцы которые захуярят одну модель для всего, напихают туда аннотаций и для сериализации и для бд и для мэм кэша»
ты конечно прав что это плохо, но DTO тут не виновато )
DTO тут не причем. Сингл респонсибилити — это то, что спрашивают на собесах, но никто и никогда не понимает, что оно такое. Я уже молчу про остальные ОЛИД. Когда доходят до Д, то обычно переходят на другие вопросы. Потому что ни один синьор никогда в жизни не объяснит на пальцах, что такое это ебаная инверсия зависимости, и где в его коде абстракция, а где детали.
Это цена цифровой индустриализации — когда за весла погнали не инженеров, а вчерашних пицценосцев. Которые старательно красноглазят ночами, фикся баги в индусском коде или пилят злоебучие стартапики по типу онлайн-казинох, но им совершенно насрать на паттерны и все, что с ними связано. Только, когда он забредет на конфу с чуваками, обвешенными сертификатами, и они поездят ему по ушам модными словечками, только тогда он начнет их сам применять.
Но инженером он от этого не станет. Он останется макакой, ковыряющей индусятину, которая выучила пару новых слов. В этом случае, даже не слов, а всего три буквы — DTO.
Автор статьи — обычная токсичная истеричка, которая вместо того, чтобы работать и реализовывать бизнес-идеи начинает хуярить в код всякую лабуду. Я уже представил, как там этих дто-шек с валидацией (валидацией, Карл!) нахуярено. Хуже любой индусятины.
И суффиксы Dto в названии девяти из десяти классов. А хули — добавили валидацию, прикрутим и чего-нибудь другое. А почему бы дто-шкам самим себя в базу не сохранять? Или емейлы не слать? Они ведь замечательно для этого подходят — в них все данные есть.
У меня, к примеру, уже 15 лет опыта, и я изредка применяю ДТО в своей работе. Но очень осторожно. Потому что их всегда можно заменить на что-то более вменяемое, читабельное и отвечающее этим заебавшим всех принципам СОЛИД.
Inversion of control начинаешь хорошо понимать когда начинаешь писать тесты. Грубо говорят для того чтоб подменять реализацию проще внедрять внутрь класса/метода уже инициализированный объект, а не создавать его внутри и ебаться с мокито и прочей хуйней. под это построили полно уже готовых решений spring, guice, dagger, coin и так далее. это просто грубо говоря «вумное» дерево зависимостей, в принципе они очень хорошо работают и в тестах. Но я надрочился писать так что даже без них тесты нормально пишутся. Когда их не было мы сами писали фабрики, и сами провайдили зависимости. с ними это намного проще, особенно учитывая что там еще есть скоупы. я думаю это использует почти каждый джун, мидл, и бывший пиценосец в том числе. Тем более если на проекте это уже вкручено, даже бывший курьер глово поймет как это работает.
Не знаю как курьеры Глово (норм ребята, кстати), но ты же не словами говоришь. Это какой-то жаргон с соседнего двора, я его не понимаю. Я на пыхапэ вообще большую часть карьеры пишу. Немного на си, немного на джаве, немного на питоне, немного на джаваскрипте (серверном и клиентском), немного на баше (куда без него). Но основной упор — это похапе. Или пиэйчпи. И вот в нем твой вот этот набор слов мало о чем говорит. Хотя он походу как раз из джавы )
Ладно, пыхапе суть та же джава, просто урезанная и адаптированная под веб. В восьмой версии различия вообще почти стерлись. Я понимаю, что такое дерево зависимостей, и зачем их инжектить в класс, чтобы сделать их максимально testable. Но если я так не делаю, это не значит, что я мудак, а это значит, что я решил сэкономить время на реализацию чего-то другого. Я даже тудушки оставляю: «extract constant», «inject dependency», «cover with unit test». И возвращаюсь к ним, когда мне реально нехуй делать.
Ты снова какую-то панацею хочешь предложить. А суть дискуссии как раз в том, чтобы изговнить автора — малолетнего синьора, который выучил два паттерна, и теперь о них трубит. Его так бомбит, что он аж на ебаное полез со своими незакрытым гештальтом. Хотя местечко для излияний души — херовое, прямо скажем.
«Я уже молчу про остальные ОЛИД»
«Это цена цифровой индустриализации — когда за весла погнали не инженеров, а вчерашних пицценосцев.»
да можно хоть издрочить твой СОЛИД, но толку от него мало. Завтра придёт продакт, и скажет что требования поменялись, потому что у нас же Аджайл, или он просто тоже пицценосец и ошибся в них. И ты свой вылизанный код с красивыми абстракциями выкинешь нахуй и будешь быстро-быстро писать говно, потому что это 10 вечера пятницы. Так что меньше пафоса про эту догматическую хуйню.
Во-вторых другие все эти догмы как раз плюнуть могут друг другу противоречить. DRY подталкивает писать обобщенный код, а KISS — простой, а некоторые буквы SOLID — сложный, а YAGNI — советует не выёбываться и не решать преждевременно проблемы которые в 80% случаев никогда не наступают. Сколько раз бывало такое что кто-то нахерачил код с абстракциями и всё как положено, но требования меняются и все эти абстракции только связывают руки и в итоге подталкивают к срезанию углов или выкидыванию их целиком. Это только в академических книжках говорят что якобы можно код написать расширяемо и показывают примерчики наследованием ромбов и кружочков, но в реале это часто не работает, а ещё сроки давят. И баланс между этими догмами найти СЛОЖНО, и он часто СУБЪЕКТИВНЫЙ. Что тебе хорошо, то другому чуваку с 15 лет опыта запросто будет чушь собачья.
Тихо, спакуха. Keep calm.
Я об этом и пишу. И даже добавляю к солиду эпитет «злоебучий» или «заебавший всех». Конечно, это нихуя не панацея. Это всего-лишь буквы. У всех принципов нет даже названия, есть только буквы. Как бы это должно нам на что-то намекать. Никто не знает, как писать код правильно. Но все, блять, склонны считать себя самыми умными и сведущими. Мои 15 лет опыта подсказывают мне, что все принципы — полная хуета. И все они противоречат один другому, что и было замечено справедливо. Потому, триггер для выебщика-вайтишника — вот такие споры про дто-шки. У меня попадаются порой такие напарники-долбоебы, которые упорно хуярят один свой принцип куда попало. Вот этот ДТО создает, где ни попадя, а у меня был кадр-сотрудник, который создавал классы-сервисы. И все бы ничего, отличная идея, но у него каждая таска была как сервис. Самый мелкий багфикс он вместо одной строки — хуярил сервис.
И все по модному — с инъекцией зависимости, с интерфейсиком, с нулевой реализацией. Но, сцуко, на одну строку кода. Которую никто и никогда не собирался больше изменять — трешак в виде трех-четырех классов.
Да-да, я знаю, есть YAGNI и KISS, и я нихуя не такой умный, что только что их придумал, чтобы доказать, какой он долбоеб. Но блять. Писать код надо с головой, а не по принципам. Я ж про это и веду речь.
Да даже магическое число при желании можно вхуярить, если это магическое число нахуй никому не вперлось в виде константы или переменной окружения или конфигурации. Вот, блять, если мне нужно, то я так и пишу 123. И мне похуй, что оно никому не понятно. Кому не понятно — не понял смысл всего остального (я иногда даже выделяю константы с названием ONE_HUNDRED_AND_TWENTY_THREE (в прод не заливаю, правда, но поржать в ревью иногда можно).
В некоторых ЯП (Eiffel, Racket) есть такая фича, как контракты. За эйфель я не особо знаю, придётся разобрать на скобочках.
https://docs.racket-lang.org/guide/contract-func.html
Грубо говоря, по ссылке описан синтаксис налепливания предикатов на аргументы и возврат функции. Захотел — запилил на аргумент встроенный предикат (exact-nonnegative-integer?), захотел аргумент строго больше пяти — запилил функцию >5 и повесил её на аргумент. Захотел убрать контракт где не надо? Убирай.
Ну что, я скоро услышу вопли топикстартера о том, что контракты надо быстро-быстро запилить во всех языках, какие он знает?
И чтоб два раза не вводить капчу: сверху был тут категоричный беспруфный тейк про то, что собирание аргументов в ADT, видите ли, мастхэв. Я на него отвечу сейчас второй раз.
>не чувак, dto — это база межлэерной коммуникации, это гавно нужно знать всем, иначе будет спагетти-гавно, а не код
Есть такие штуки, относящиеся к межлэерной коммуникации, называются posix api и winapi. Расскажете, почему там если и используются структуры, то по самому минимуму? Почему у самого широко используемого межлэера (юзерлэнд — либы ос) нет ADT на каждом шагу?
Может, просто потому что кто-то использовал старую рекомендацию «если аргументов много, группируй их» как основное жизненное правило и основал секту этого правила?
posix api и winapi говно и ненужно, вот почему.
моя работа сложнее и интереснее, я круче чем он, но нет я не выёбываюсь (с) Афтар сего высера
Near-technical article on fucking it! Wow! Sooner or later (in nearest 100 — 1000 years) we’ll see here articles on GoF patterns, SOLID, YAGNI, KISS DRY etc. principles… what then? Articles on software architecture, project management approaches (scope vs cost driven), risk management, budget management… omg, can’t wait when it happens!
это что, ебаное предлагает прокаментить каменты с какого-то никому нахер не нужного форума? это что реклама?
похер.
Кому нужен дто когда есть спрэнг