Диалог с программистом с «10-летним опытом»

Кто такие современные программисты глазами HR?

Пишет Анонимус: «Хочу поделиться одним интересным диалогом, который мне пришлось наблюдать.
Призыв программистам, независимо от их достижений, оставаться нормальными людьми, а не превращаться в людей подобных тому, кто будет описан ниже.

Речь пойдёт о человеке Denis Efremov, известным как Piterden.
С первого взгляда выглядит как солидный программист, человек который участвует в достаточно крупных российских проектах, также поддерживает несколько репозиториев npm с достаточно большим кол-вом скачиваний.

На самом деле при всех вышесказанных фактах он не такой уж и известный, особенно если выйти с территории России, но и в ней большинство программистов не знают кто это такой.

Возникает вопрос — что может пойти не так? — А вот что.
На днях этот человек в чате поддержки разработчиков бекенда задал вопрос что такое дто, зачем они нужны и чем моно их заменить, посколько ему они не нравятся. На вопрос почему не нравятся один из ответов был буквами ДТО в названии файлов содержащие соотв. дто, и он говорил что если их убрать — ничего не изменится. И далее пояснял, что достаточно просто протипизировать обычным типом.

Самое первое, что приходит в голову когда узнаешь, что это за паттерн, это то, что дто — это класс, а значит в нём может быть как валидация, так и этот процесс может быть автоматизирован, что самое главное, а типы бл*дь — это типы, с ними ничего нельзя сделать, тем более когда речь идёт о TS. А вот как эта банальщина непонятна человеку с более чем 10-летним опытом работы — это просто выходит за пределы любого понимания.

Ничего, что это принято стандартом в программировании и так делают все. Попытки обьяснить ему что это и зачем — были бесполезны, человек стоял на своём и не хотел воспринимать то, что ему рассказывали. Идти против концепта, используемого во всём мире, потому что ты не умеешь думать и делать выводы — говорит о человеке достаточно.

На любые вопросы о том, понимает ли он что такое дто в целом, он не дал ни одного четкого ответа, а сразу переводил тему на какой-то бред. Ничего путного мы не услышали, кроме того, что он кидал в чат статьи о том, что дто это плохо. Статьи 10-летней давности.

Дто были придуманы для решения проблем паттернов по типу удалённых фасадов, которые пришли после того, как вышла статья. Это максимальное тупое решение опираться на подобные статьи.

Опишу как это выглядит в целом
Программист с более чем 10-летним опытом разработки (по его словам) не способен в инете глянуть что такое дто и сделать выводы и понять смысл этого по сути «детского паттерна», который лежит чуть ли на в основе бекенда. Понятно почему он не сталкнулся с этим ранее (как разработчик, кодящий на php и клиентском js), хотя это становится ясно и когда узнаешь, что он не мог понять, что это за паттерн.

Человек высказывал своё мнение и спорил в том, о чём даже не прочитал и не подумал головой зачем оно. Зато активно отбивался древними статьями, видимо ввиду отсутствия собственных мыслей. Как для человека с 10 годами опыта это казалось невозможно, но нет…

Зато он активно выпендривался своими достижениями в проектах и своими звездами гит хаба. Открыто демонстрируя своё чрезмерно завышеное ЧСВ и самооценку, и показывая всем, что он считает себя лучше чем остальные люди и, видимо, умнее.

Не надо брать примеры с таких дегенератов
Я ищу уязвимости в процессах трансфера денег для казино на всех стадиях как программного, так и физического аспектов. И это бл*дь важнее, сложнее, интереснее, чем любое достижение этого человека, но при этом не выёбываюсь этим и не ставлю себя лучше кого-то.

И мне плевать на все его достижения и где он там участвует, одна эта ситуация показала его суть.

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

Прислал Анонимус

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

  1. Fullkek olololoper:

    Какая-то разборка в петушином углу

    296

    0
  2. Rusische shveinedebilen:

    Роисисосийкие петрушки кукарекают ойлоло.
    Дто лежит в основе бекенда — мда автор эксперт как видно с 110 годами ‘опета’

    102

    7
    • Maльдивы Форева:

      Петрушка Ляксеич кукарекал в 2014-2019 в уши доверчивых укpoпов
      Из российского у него был только заводик в Липецке

      11

      42
    • bandOf4:

      Лапти поначитаются книжек зарубежных хозяев, и тыкают везде дто для передачи одного-двух параметров, как будто после этого бутылка в их заднем проходе станет менее заметна.

      27

      5
      • украинская напляшка:

        Поэтому мы, украинцы, и носим шальвари с отвисшей мотнёй, чтобы скрыть факт присутствия пляшки в заднем проходе

        6

        13
      • Creator:

        Накурятся своей конопли и ябут друг друга в жопи!!!

        0

        0
  3. Зигмунд Фройд:

    Piterden — питушиный ник.

    30

    0
    • Piterden:

      А мама и бабушка сказали, что звучит круто(

      30

      1
      • Мама и бабушка:

        Да потому что мы с твоего рождения видели, какое уёбище растёт, и предложили тебе этот ник как красный флажок — чтобы нормальные люди прокажённого обходили стороной!

        30

        0
    • Хуй в пальто:

      Не piterden, а питурден. Колготки на средней бритости ляхи, платьице на пузико, дилдак (или бутылку) в жопень и давай дёргать хиленький пиструнчик на JS.

      5

      0
  4. Зигмунд Фройд:

    На самом деле при всех вышесказанных фактах он не такой уж и известный, особенно если выйти с территории России, но и в ней большинство программистов не знают кто это такой.

    Ебаное пробило очередное дно.

    59

    4
  5. Piterden:

    Не смог переспорить — написал статью в ebanoe. Иди в пизду, нытик

    82

    1
  6. Зигмунд Фройд:

    На днях этот человек в чате поддержки разработчиков бекенда задал вопрос что такое дто, зачем они нужны и чем моно их заменить, посколько ему они не нравятся. На вопрос почему не нравятся один из ответов был буквами ДТО в названии файлов содержащие соотв. дто, и он говорил что если их убрать — ничего не изменится. И далее пояснял, что достаточно просто протипизировать обычным типом.

    АЖ ЖЫР ТЕЧОТ

    В ФИДО был типа женский персонаж, который задавал подобные идиотские вопросы. Так что ничего нового под солнцем.

    2

    3
  7. Трушный ДТОшник:

    Бля, сколько холиваров в инете происходит — автор решил осветить один единственный… какой-то заказной высер

    30

    0
  8. Deez_nutz:

    Я ваша щека биточка оставлял.

    4

    0
  9. Tom:

    А ведь много таких даунов, которые не знают, что такое дто, и получают от 300 тыр.

    Вы ему еще про паттерны солид расскажите, он тогда вообще, наверное, на месте помрет от пукательной асфиксии (пукнет в себя и умрет).

    10

    1
    • HTML Синьор, 300к/наносекунда:

      Скажите а чем цикл for от while отличается???

      1

      0
    • грОбец:

      Ну значит нахуй не всрался этот ваш дто. Иди вздрочни на него в уголке.

      9

      3
    • anon:

      «Вы ему еще про паттерны солид расскажите»

      да хоть солидол. Если бы этих сраных 5 букв было достаточно чтоб писать нормальное ПО то было бы легко. Ты блять хоть подумай на досуге что твои SOLID, YAGNI, KISS исповедуют порой противоречащие друг другу максимы, прежде чем слюной брызгать. Вы, 23-летние петушки просто больше нихуя и не знаете, а у опытного чувака эти буквы в голове и так есть, просто он их не зубрит наизусть.

      31

      3
      • Tom:

        Вот от твоего коммента как раз и разит 23-летним петушком. Иначе ты бы не делал выводы о моем возрасте по упоминанию паттерна — при этом, объебавшись в полтора раза.

        Ты обосрался жидко и стоя, ты лыс в 23 года, ты туп. Завтра гребешь бесплатно.

        1

        5
        • anon:

          «Вот от твоего коммента как раз и разит 23-летним петушком. Иначе ты бы не делал выводы о моем возрасте по упоминанию паттерна — при этом, объебавшись в полтора раза.

          Ты обосрался жидко и стоя, ты лыс в 23 года, ты туп. Завтра гребешь бесплатно..»

          сколько тебе лет на самом деле ты мне тут не докажешь. Как себя ведёшь — так тебя и воспринимают
          А завтра выходной, сочувствую если у тебя рабочий день)

          3

          0
  10. X0X0L:

    «человек который участвует в достаточно крупных российских проектах», «не такой уж и известный, особенно если выйти с территории России»
    Я просто ору с этих москалей! «Солидный программист», который сидит в Параше?! «разработчик, кодящий на php и клиентском js» — ну охуеть профи.
    «Статьи 10-летней давности.» — да потому что узкие ИТшнитки не знают английского! Да-да они ждут пока книжки по новой технологии переведут на узкий язык — лет этак через 10. Когда читаю про таких северных дикарей «с лишней хромосомой» — то вспоиминаю анекдоты про чучкей. Например как чукча купил себе машину и запрягал в нее собак!
    Нет, вы не подумайте — в Парашке есть и Интернет, и компьютеры, и программисты … вот только у них «своя атмосфера». Компьютеры похожи на самовары, интернет носят ведрами, а программист похож на медведя с балалайкой.
    Ну и все разъемы почему-то походи на бутылки. Наверно так они к Матрице подключаются.

    71

    10
    • NELOH NEKROLIK:

      >а потому что узкие ИТшнитки не знают английского!
      Чубатая логика — экстраполировать свои ебучие домыслы на всех

      >Да-да они ждут пока книжки по новой технологии переведут на узкий язык — лет этак через 10.
      На свидомый нахрюк их не переведут никогда

      >северных дикарей
      Ну да, к северу от Российского Крыма есть дикое поле, населенное дикарями-шумерами, тут ты прав

      >«с лишней хромосомой»
      Да-да, и прапор у них спизжен с флага даунов, всё так

      11

      54
      • Babadook:

        Все так. Недавеча команда под флагом дауна обыграла команду под флагом дауна и вышла в следующий раунд, а команда под флагом трехцветным дрочит. Угадайте страны.

        21

        0
        • неробот:

          Так а кто спорит с тем, что футболисты РФ — пидоры ещё те (в плохом смысле слова, т.е. получают баблище и нихуя не показывают результат). Дрочить на камеру умеют хорошо, остальное — как-то не очень
          Или ты думаешь, что в РФ их любят что ли?
          Лично я болею за «даунят», хоть что-то новенькое в отличие от…

          3

          2
        • неробот:

          Ну вот и «даунята» вылетели 0:4, встретившись с более-менее нормальным соперником
          Непонятно, в чем ваша радость была
          Кмк, одинаковый примерно уровень, что у сборной РФ, что у сборной Украины

          4

          5
          • Суть:

            Причём, никто пиво не наливал за голы укpaшке, и укpoфанатов не пиздил
            Вот и вся разница между дикарями-шумерами и цивилизованными славянами-русскими

            5

            3
  11. Рэпер Сява:

    ПИТОРден и автор оба ебаньки. Первый из-за ника, а второй из-за работы на уебков(онлайн казино), главное ебанько ещё думает что ахуенный)
    Пускай тебе присниться с пизды ресницами, хули, хаааа!1

    23

    0
  12. Антисфен:

    На їбаному анон
    Показав всім свій джейсон
    І не просто показав
    В дто-шку перегнав.

    59

    5
  13. 301й спартанец на галере:

    блять, типичная js макака, которая всю жизнь занималась формошлепством, из всех паттернов скорее всего он знает только синглтон, и то не факт, как он вообще тайпскрипт осилил

    15

    1
    • грОбец:

      Так и нахуй оно все остальное нужно, если и так плотят 5к? Иди вздрочни на фабрику или на свою мамку)

      19

      0
      • 301й спартанец на галере:

        я обычно хожу вздрочнуть не на фабрику, а к деду на завод

        18

        0
  14. Читатель-писатель:

    Онлайн казино важнее чего-то? Даун ебаный.

    34

    0
  15. 301й спартанец на галере:

    кстати, видел видео на ютабе, в нем чувак говорил, что один сотрудник у него на роботе (работает он в долине) с 25ти летним опытом, не знал, что такое ооп, солид, чисты код, и ебашил все функциями, как учили в двухтысячном году, бывают и такие люди

    10

    1
    • Сектантство:

      >кстати, видел видео на ютабе, в нем чувак говорил, что один сотрудник у него на роботе (работает он в долине) с 25ти летним опытом, не знал, что такое ооп, солид, чисты код, и ебашил все функциями, как учили в двухтысячном году, бывают и такие люди

      Ну смотри. Дохуя ООПшных (я про джавафольклор) мемов идут нахуй, когда ты начинаешь писать на языке с REPL. Вот берём тот же питон. Или tcl. Или хоть тот же руби. Или из не особо распространённых поныне, лисп. Всё, с реплом ты начинаешь писать программу совершенно по-другому и (сюрприз-то какой, да?) почему-то начинаешь ебашить в основном функциями, причём, чаще всего чистыми.

      С лиспом, кстати, положение становится ещё интереснее тем, что какой-нибудь паттерн можно взять и превратить в библиотечную функцию (макрос), после чего он таковым быть перестаёт и теряет важность после того, как ты достанешь себе какой-нибудь другой паттерн, который потом тоже станет макросом и ты к нему слегка подохладеешь, язык-то во все три парадигмы может и чуть больше. И разумеется, там свои локальные мемы и паттерны, которые не совсем сходятся с теми, что сейчас распиарены.

      Если же писать на сишке, внезапно оказывается, что большая часть джавамемов тоже не нужна и ООП если есть, то довольно специфичное и тоже, внезапно, сводящееся к минимуму. А ещё в сишке до сих пор широко используют goto, да и в перле, прикинь! Не знают, что гоуту консидеред хармфул! Умные дяди же сказали!

      Теперь трясём ФП. Дальше объяснять или сам поймёшь, что чистых функций становится всё больше, а применимости мемов из джавы как-то совсем не особо заметно? А там и функции высшего порядка пошли, и монадки с ленивым программированием… И продолжения в Scheme вылезли. Вроде интересные вещи, но на джаве их нет и никто их не считает высшей истиной, странно, правда?

      Ну ладно, в сишке сделали ООП, в ФП-языках с горем пополам навертели ООП на лямбдах. А шелл? К нему-то вообще ООП если и вяжется, то определённо выглядит каким-то извращением. И что же, неужели на шелле надо писать дедовским способом, на функциях? А вместо того, чтобы писать в удобненький rabbitmq жсончик, неужели проще запилить пару пайпов? Или использовать конфиги уровня BSD-шных rc вместо развесистого YAML становится не в пример проще? Вот это новость!

      В чём суть? Суть в том, что не надо местечковые мемы с сомнительной применимостью считать эталоном для кодинга. И тем более превозносить одну парадигму над всеми другими.

      21

      5
      • old dick:

        «Ну смотри. Дохуя ООПшных (я про джавафольклор) мемов идут нахуй, когда ты начинаешь писать на языке с REPL. Вот берём тот же питон.»

        «В чём суть? Суть в том, что не надо местечковые мемы с сомнительной применимостью считать эталоном для кодинга. И тем более превозносить одну парадигму над всеми другими.»

        помню случай когда сервак на питоне на 500 строк кода и 1 файл был переписан на дофига так файлов. Конечно 500 строк тоже не мало как для 1 файла, но кода стало намного больше — с классами, паттернами, да. А в питоне было написано по простому, процедурный стиль.

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

        как-то один чувак на выступлении сказал что в программировании нет нормального стандарта — каждое новое поколение кодеров осваивает новые приёмы, потом понятие о хорошем коде постоянно меняется.

        8

        0
      • Капитан Хуй:

        реквестирую статью на эту тему. давно пора продвигать философско-технический контент

        6

        1
      • Babadook:

        Ну если на джава писать в процедурном стиле или на Си пытаться абстрагироваться — один хуй. На каждом языке по своему пишут — и со своим уставом в чужой монастырь не ходят.

        0

        0
        • Томми умер от GC:

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

          0

          0
          • Лог из остатков Томми:

            Hardware error: процессор не может функционировать при таком количистве жира от предыдущего поста.

            По остальному: как часто эти оптимизации нужно делать для типичных задач? Что сложнее — заморочиться байтоебством или грамотно раскидать по абстракциям с последующим грамотным масштабированием? А как там независимость от железа… что проще обновить jvm или сделать аналогичную работу самому?

            Каждой большой задаче — свой удобный инструмент. Есть то, что на jvm удобнее пилить, есть то — что на С/других языках.

            2

            0
  16. 301й спартанец на галере:

    а в целом, высер ни о чем, один идиот-ноунейм жалуется на другого идиота-ноунейма, ебаное все так же скатывается в днину

    26

    0
  17. Надо было давно написать статью про сектантов в IT, но я не осилил.:

    >Самое первое, что приходит в голову когда узнаешь, что это за паттерн, это то, что дто — это класс, а значит в нём может быть как валидация, так и этот процесс может быть автоматизирован, что самое главное, а типы бл*дь — это типы, с ними ничего нельзя сделать, тем более когда речь идёт о TS.

    А вот и сектанты в IT. Узнаёт такой сектант какую-нибудь парадигму, паттерн-хуяттерн и думает, что этой серебряной пулей можно и нужно заруливать весь мир, а все, кто думают иначе — ретрограды, макаки и вообще людьми не являются. Так на сектантах выросли микросервисы с докером, полезли прикручивать nosql куда не надо (БЫСТРАЖЕ) и обрабатывать четырёхгиговые датасеты в хадупе. А для того, чтобы включить вумную лампочку, надо подождать, пока JSON пройдёт 16 серверов в облаке филипса и вернётся обратно.

    42

    0
    • 301й спартанец на галере:

      не чувак, dto — это база межлэерной коммуникации, это гавно нужно знать всем, иначе будет спагетти-гавно, а не код

      1

      9
      • Надо было давно написать статью про сектантов в IT, но я не осилил.::

        >это гавно нужно знать всем, иначе будет спагетти-гавно, а не код
        Потому что ты сказал?
        >спагетти-гавно
        А ты вообще видел настоящее спагетти-гавно? В первоначальном занчении этого слова?

        8

        1
      • дед-мопед:

        «не чувак, dto — это база межлэерной коммуникации, это гавно нужно знать всем, иначе будет спагетти-гавно, а не код»

        да хуле его там знать) В сишке уже лет 30 это используют без шума и пафосных названий

        3

        1
        • TL:

          Какая в жопу сишка? Если это тупо plain object, который получил название из-за того, что стал костылем в Java Beans.

          Заебали NIH синдромы..

          7

          2
          • old dick:

            «Какая в жопу сишка? Если это тупо plain object, который получил название из-за того, что стал костылем в Java Beans.»

            dto или plain object это названия. В сишке использовались тупые контейнеры данных без логики давно, когда этой вашей Жабы ещё и в проекте не было.

            4

            2
            • TL:

              речь шла именно о DTO, поэтому и говорим мы исключительно в контексте возникновения термина, который по сути для других языков не значит нихрена, а в статье DTO упоминается как паттерн (что полный бред), межъязыкового паттерна DTO как такового не существует, а то что в сях есть struct это нихрена не значит да и transfer там тоже отсутствует, а еще в Java придумали термин POJO (который никакого отношения не имеет к DTO, но тоже plain), а в С++ POCO (та же хрень и все так же не имеет отношеия к DTO)

              короче смешал ты бульдого и носорога, поэтому возьми на полке горстку защекоинов и сходи почитай про DTO

              3

              2
              • old dick:

                «речь шла именно о DTO, поэтому и говорим мы исключительно в контексте возникновения термина, который по сути для других языков не значит нихрена»

                ты занимаешься буквоедством как автор этого унылого поста. Проблемы, которые решает DTO возникали и раньше и не специфичны только для джавы

                2

                2
                • TL:

                  Если для тебя под терминами не лежит никаких понятий и абстракций, и ты не понимаешь о чем речь, то… без комментариев.

                  0

                  3
                  • anon:

                    «Если для тебя под терминами не лежит никаких понятий и абстракций, и ты не понимаешь о чем речь, то… без комментариев.»

                    спокойнее, не надо так волноваться как для такого пустякового вопроса.

                    я не академик и не историк java платформы и мне больше важны практические следствия. Если тебе сильно важно — могу назвать dto хоть холодильником — мне не жалко.
                    Какие именно практические следствия из этой важной для тебя разницы в терминах?

                    0

                    0
  18. Тимлид твоего очка:

    Жук, быдлокодер, почини скролл до комментов. Заeбaлocь, что наверх кидает.

    25

    0
  19. Cheluskin:

    Начнем с того ,что DTO не антипаттерн, но то, как обосновали необходимость его применения выглядит еще хуже. Раз это стандарт, то tuj нужно запихивать везде, даже если это не распределенная система с разными источниками данных и нет необходимости менять возвращаемый объект?

    5

    3
  20. Прототип:

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

    7

    0
  21. Кама Пуля:

    «Самое первое, что приходит в голову когда узнаешь, что это за паттерн, это то, что дто — это класс, а значит в нём может быть как валидация…»

    Data Transfer Object, в отличие от business object или data access object не должен содержать какого-либо поведения.

    Какая нахуй валидация ?

    33

    0
    • GRASP:

      Annotations же ж з javax.validation

      0

      5
      • Степан:

        И что блять, что аннотация? Наличие аннотации не добавляет саму логику валидации в DTO, его валидирует сторонний класс валидатора.

        2

        0
        • Cancel culture:

          Я йду з каментів f*cking it. Рівень співрозмов тут – поливання одне одного гівном та чіпляння до слів. Сюди можна тільки приносити матеріал, бо сайт розкручений і допомагає зробити відомими нечесні компанії та покидьків-манагерів чи зазнавшихся технарів. Але каменти тут – це тупо дно.

          1

          3
  22. Епископ Мариупольский:

    Само твоя деятельность связанная с казино уже грех и Русский Боженька накажет тебя. Может он послал сына своего Дениса с ДТО для выведения тебя из равновесия. Спроси любого Святого ФСБшника, он подтвердит что казино это зашквар из 90-х. Молись Господу чтобы он тебя простил и переведи деньги на счет Азов Батальона, дабы простил тебя Боженька.

    21

    1
  23. ∃!:

    > казино

    Уязвимости оно ищет, паскуда ебаная.

    10

    0
  24. Сотрудник Академии ШАГ с блекджеком и векторным синтегратором Дмитрием Корчевским::

    Нихуя непонятно.
    Программирование какое-то.

    3

    1
  25. Генерал Свиридов, директор ОКБ Алмас Гандон:

    Все русские программисты должны перестать страдать хуйней и идти в наше ОКБ Алмаз Антон, где за приличную зарплату в 120 тыс рублей вы будете, сначала на бумаге карандашом, как и положено русским программистам, а потом уже в блокноте на виндус 95 делать программы для ракетных комплексов ПВО. Алгоритмы должны работать быстро как сверхзвуковой Кинжал, хихи, у нас много меташуток, русский ты наш программист. После 5-ти лет работы, ты наш русский программист, получишь звание подполковника и будешь под Полковником, хихи. Ну а за невыполнение плана, мы отправим тебя в отпуск, в Сибирь, в курортный город Иркутск 23, счётчик Гейгера выдадим бесплатно.

    24

    0
    • Тушёнка з свыней:

      Вислоухий, иди проспись, такого города нет

      5

      3
      • Полковник:

        Не тЫЫЫ не пОООнел — ты его не видиш, а он есть и похуй, что нет на картах и
        это тот которого низзя называть.
        Да и 120000 рЖуБлЁв — это в год и это гросс ))))

        7

        1
        • Тушёнка з свыней:

          Ага, в наш век гугл мапс его конечно же нет на картах
          Kакие же долбоёбы в свинее-безсала всё-таки

          4

          3
  26. дед-мопед:

    автор поста — очередной 23-летний синьор, и это торчит как уши большого жирного кроля. Прежде всего потому что вопрос — фуфловый.

    «На вопрос почему не нравятся один из ответов был буквами ДТО в названии файлов содержащие соотв. дто»

    какая-то безграмотная хуйня.

    «Самое первое, что приходит в голову когда узнаешь, что это за паттерн, это то, что дто — это класс, а значит в нём может быть как валидация»

    валидация в ДТО классе? Dto это обычно контейнер для данных, его обычно не отягощают какой-либо логикой, кроме случаев когда это можно прописать декларативно как в JSR-303, и то сам код валидации в них не находится.

    короче какие-то 23-летние щеглы поспорили о вкусовщине. А о вкусах спорят обычно долбоёбы

    40

    0
  27. гребец-хуец:

    по этому поводу мы тоже спорили с тим лидом и с другими челами, я тоже со временем перестал видеть смысл в дто, ты просто тупой и не понял что он имел в виду. DTO нарушают принцип сингл респонсибилити, особенно если речь идет о таких кейсах когда у тебя дто это не просто обертка для передачи куда-то данных, а еще и слой который эти данные сторит например в бд. Так вот по принципу сингл респонсибилити так не должно быть. Приведу пример, представь что у тебя есть клиент. ты получаешь с сервера пакован данных, потом ты их кэшируешь локально(в бд, в память). какую модель ты будешь использовать? есть извращенцы которые захуярят одну модель для всего, напихают туда аннотаций и для сериализации и для бд и для мэм кэша, и будут юзать по всему коду эту модель. Надеюсь не надо объяснять почему это хуево. и вот у тебя получается такой парадокс с одной стороны хреново делать все в одной модели ибо это будет кошмар для тестов и поддержки в будущем, с другой стороны чтоб сделать «правильно» тебе нужно создать три а то и 4 модели которые будут друг друга почти дублировать. Поэтому он и задает этот вопрос и пытается найти какое-то иное решение чем предлагает комьюнити.

    3

    8
    • old dick:

      «есть извращенцы которые захуярят одну модель для всего, напихают туда аннотаций и для сериализации и для бд и для мэм кэша»

      ты конечно прав что это плохо, но DTO тут не виновато )

      6

      0
    • Гребец со стажем:

      DTO тут не причем. Сингл респонсибилити — это то, что спрашивают на собесах, но никто и никогда не понимает, что оно такое. Я уже молчу про остальные ОЛИД. Когда доходят до Д, то обычно переходят на другие вопросы. Потому что ни один синьор никогда в жизни не объяснит на пальцах, что такое это ебаная инверсия зависимости, и где в его коде абстракция, а где детали.

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

      Но инженером он от этого не станет. Он останется макакой, ковыряющей индусятину, которая выучила пару новых слов. В этом случае, даже не слов, а всего три буквы — DTO.

      Автор статьи — обычная токсичная истеричка, которая вместо того, чтобы работать и реализовывать бизнес-идеи начинает хуярить в код всякую лабуду. Я уже представил, как там этих дто-шек с валидацией (валидацией, Карл!) нахуярено. Хуже любой индусятины.

      И суффиксы Dto в названии девяти из десяти классов. А хули — добавили валидацию, прикрутим и чего-нибудь другое. А почему бы дто-шкам самим себя в базу не сохранять? Или емейлы не слать? Они ведь замечательно для этого подходят — в них все данные есть.

      У меня, к примеру, уже 15 лет опыта, и я изредка применяю ДТО в своей работе. Но очень осторожно. Потому что их всегда можно заменить на что-то более вменяемое, читабельное и отвечающее этим заебавшим всех принципам СОЛИД.

      14

      0
      • гребец-хуец:

        Inversion of control начинаешь хорошо понимать когда начинаешь писать тесты. Грубо говорят для того чтоб подменять реализацию проще внедрять внутрь класса/метода уже инициализированный объект, а не создавать его внутри и ебаться с мокито и прочей хуйней. под это построили полно уже готовых решений spring, guice, dagger, coin и так далее. это просто грубо говоря «вумное» дерево зависимостей, в принципе они очень хорошо работают и в тестах. Но я надрочился писать так что даже без них тесты нормально пишутся. Когда их не было мы сами писали фабрики, и сами провайдили зависимости. с ними это намного проще, особенно учитывая что там еще есть скоупы. я думаю это использует почти каждый джун, мидл, и бывший пиценосец в том числе. Тем более если на проекте это уже вкручено, даже бывший курьер глово поймет как это работает.

        4

        7
        • Гребец со стажем:

          Не знаю как курьеры Глово (норм ребята, кстати), но ты же не словами говоришь. Это какой-то жаргон с соседнего двора, я его не понимаю. Я на пыхапэ вообще большую часть карьеры пишу. Немного на си, немного на джаве, немного на питоне, немного на джаваскрипте (серверном и клиентском), немного на баше (куда без него). Но основной упор — это похапе. Или пиэйчпи. И вот в нем твой вот этот набор слов мало о чем говорит. Хотя он походу как раз из джавы )

          Ладно, пыхапе суть та же джава, просто урезанная и адаптированная под веб. В восьмой версии различия вообще почти стерлись. Я понимаю, что такое дерево зависимостей, и зачем их инжектить в класс, чтобы сделать их максимально testable. Но если я так не делаю, это не значит, что я мудак, а это значит, что я решил сэкономить время на реализацию чего-то другого. Я даже тудушки оставляю: «extract constant», «inject dependency», «cover with unit test». И возвращаюсь к ним, когда мне реально нехуй делать.

          Ты снова какую-то панацею хочешь предложить. А суть дискуссии как раз в том, чтобы изговнить автора — малолетнего синьора, который выучил два паттерна, и теперь о них трубит. Его так бомбит, что он аж на ебаное полез со своими незакрытым гештальтом. Хотя местечко для излияний души — херовое, прямо скажем.

          4

          0
          • гребец-хуец:

            в кроткосрочной перспективе на небольшом проекте такой подход оправдан — закрывать текущие задачи как можно быстрее и как можно лаконичнее, но с годами я понял что в долгосрочной перспективе это приводит к ужасным результатам, настолько ужасным что тебе потом самому не хочется поддерживать этот код. Если у тебя достаточно ресурсов потом перепедалить весь код, тогда на это можно пойти ради кратковременной и быстрой выгоды. Такое может быть в каких-то маломальских стартапах которые не имеют финансирования, на подобе нашего дейтинга(выстрелит или не выстрелит не так страшно ведь не было вложено денег, кроме часов работы на выходных). Изначально мы его писали быстро. В итоге был немалый техдолг. за год удалось переписать почти весь бекенд, и фронтенд. Почти весь тех долго исчез. Но если брать проект на моей текущей работе, то для переписывания этого монстра потребуется человек 10 и года два. Поэтому тут это не сработает. Стоило ли писать изначально его более менее правильно — да, стоило. Сейчас большие проблемы с стабильностью работы, а проектом пользуются 50 млн пользователей. И вместо того чтоб быстро пилить новые фичи, много времени уходит на тушение пожаров, и тушение пожаров уже забрало в два раза больше времени чем если б этого монстра переписать. Судя по моему опыту, я считаю что даже небольшой проект стоит сразу делать по уму. Не обязательно писать сразу тесты, но ты же можешь и не писав тесты понимать твой код достаточно абстрактен чтоб легко было покрыть тестами или нет. На этом можно набить руку и потом писать правильно и без самих тестов. Я пришел к выводу что лучше все-таки потратить время и создать больше моделей чем игнорировать эти принципы, а потом утонуть в багах с продакшена.

            4

            9
      • anon:

        «Я уже молчу про остальные ОЛИД»
        «Это цена цифровой индустриализации — когда за весла погнали не инженеров, а вчерашних пицценосцев.»

        да можно хоть издрочить твой СОЛИД, но толку от него мало. Завтра придёт продакт, и скажет что требования поменялись, потому что у нас же Аджайл, или он просто тоже пицценосец и ошибся в них. И ты свой вылизанный код с красивыми абстракциями выкинешь нахуй и будешь быстро-быстро писать говно, потому что это 10 вечера пятницы. Так что меньше пафоса про эту догматическую хуйню.
        Во-вторых другие все эти догмы как раз плюнуть могут друг другу противоречить. DRY подталкивает писать обобщенный код, а KISS — простой, а некоторые буквы SOLID — сложный, а YAGNI — советует не выёбываться и не решать преждевременно проблемы которые в 80% случаев никогда не наступают. Сколько раз бывало такое что кто-то нахерачил код с абстракциями и всё как положено, но требования меняются и все эти абстракции только связывают руки и в итоге подталкивают к срезанию углов или выкидыванию их целиком. Это только в академических книжках говорят что якобы можно код написать расширяемо и показывают примерчики наследованием ромбов и кружочков, но в реале это часто не работает, а ещё сроки давят. И баланс между этими догмами найти СЛОЖНО, и он часто СУБЪЕКТИВНЫЙ. Что тебе хорошо, то другому чуваку с 15 лет опыта запросто будет чушь собачья.

        12

        0
        • Гребец со стажем:

          Тихо, спакуха. Keep calm.

          Я об этом и пишу. И даже добавляю к солиду эпитет «злоебучий» или «заебавший всех». Конечно, это нихуя не панацея. Это всего-лишь буквы. У всех принципов нет даже названия, есть только буквы. Как бы это должно нам на что-то намекать. Никто не знает, как писать код правильно. Но все, блять, склонны считать себя самыми умными и сведущими. Мои 15 лет опыта подсказывают мне, что все принципы — полная хуета. И все они противоречат один другому, что и было замечено справедливо. Потому, триггер для выебщика-вайтишника — вот такие споры про дто-шки. У меня попадаются порой такие напарники-долбоебы, которые упорно хуярят один свой принцип куда попало. Вот этот ДТО создает, где ни попадя, а у меня был кадр-сотрудник, который создавал классы-сервисы. И все бы ничего, отличная идея, но у него каждая таска была как сервис. Самый мелкий багфикс он вместо одной строки — хуярил сервис.

          И все по модному — с инъекцией зависимости, с интерфейсиком, с нулевой реализацией. Но, сцуко, на одну строку кода. Которую никто и никогда не собирался больше изменять — трешак в виде трех-четырех классов.

          Да-да, я знаю, есть YAGNI и KISS, и я нихуя не такой умный, что только что их придумал, чтобы доказать, какой он долбоеб. Но блять. Писать код надо с головой, а не по принципам. Я ж про это и веду речь.

          Да даже магическое число при желании можно вхуярить, если это магическое число нахуй никому не вперлось в виде константы или переменной окружения или конфигурации. Вот, блять, если мне нужно, то я так и пишу 123. И мне похуй, что оно никому не понятно. Кому не понятно — не понял смысл всего остального (я иногда даже выделяю константы с названием ONE_HUNDRED_AND_TWENTY_THREE (в прод не заливаю, правда, но поржать в ревью иногда можно).

          6

          1
          • anon:

            «Я об этом и пишу. И даже добавляю к солиду эпитет «злоебучий» или «заебавший всех». Конечно, это нихуя не панацея. Это всего-лишь буквы. »

            принято. Извини за наезд, мужик

            0

            1
  28. Валидация.:

    В некоторых ЯП (Eiffel, Racket) есть такая фича, как контракты. За эйфель я не особо знаю, придётся разобрать на скобочках.

    https://docs.racket-lang.org/guide/contract-func.html

    Грубо говоря, по ссылке описан синтаксис налепливания предикатов на аргументы и возврат функции. Захотел — запилил на аргумент встроенный предикат (exact-nonnegative-integer?), захотел аргумент строго больше пяти — запилил функцию >5 и повесил её на аргумент. Захотел убрать контракт где не надо? Убирай.

    Ну что, я скоро услышу вопли топикстартера о том, что контракты надо быстро-быстро запилить во всех языках, какие он знает?

    И чтоб два раза не вводить капчу: сверху был тут категоричный беспруфный тейк про то, что собирание аргументов в ADT, видите ли, мастхэв. Я на него отвечу сейчас второй раз.

    >не чувак, dto — это база межлэерной коммуникации, это гавно нужно знать всем, иначе будет спагетти-гавно, а не код

    Есть такие штуки, относящиеся к межлэерной коммуникации, называются posix api и winapi. Расскажете, почему там если и используются структуры, то по самому минимуму? Почему у самого широко используемого межлэера (юзерлэнд — либы ос) нет ADT на каждом шагу?

    Может, просто потому что кто-то использовал старую рекомендацию «если аргументов много, группируй их» как основное жизненное правило и основал секту этого правила?

    1

    2
  29. тебе ли не похуй?:

    моя работа сложнее и интереснее, я круче чем он, но нет я не выёбываюсь (с) Афтар сего высера

    21

    0
  30. GRASP:

    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!

    1

    2
  31. dr.duban:

    это что, ебаное предлагает прокаментить каменты с какого-то никому нахер не нужного форума? это что реклама?
    похер.

    1

    1
  32. Johan:

    Кому нужен дто когда есть спрэнг

    0

    2
  33. Pidorden:

    Блять, это самый большой зашквар дня? Неужели больше никакого дерма не происходит? Есть высер про то как гребцов заставили работать и за себя, и за QA, и ещё и быть на связи ВСЕ ВРЕМЯ в неделе, и при этом галера гордится этим (https://dou.ua/lenta/interviews/working-without-qa-in-peopleai). Но нет нахуй! Спор неизвестных опущенных жабаскриптеров важнее!

    6

    0
  34. гімняний Микола:

    я ніхуя не піняв

    6

    5
  35. Nesjs webmonkey:

    Чтоб вы понимали автор статьи думал что в джсе нет типов зато знает все паттерны на изусть а второй долбаеб думает что если у него есть 200 звезд на гитхаб то он пизда серьезный разраб)))))
    ну кароче была битва гавна с мочей

    7

    0
  36. ебучий случай:

    >Не надо брать примеры с таких дегенератов
    >Я ищу уязвимости в процессах трансфера денег для казино на всех стадиях как программного, так и физического аспектов. И это бл*дь важнее, сложнее, интереснее, чем любое достижение этого человека, но при этом не выёбываюсь этим и не ставлю себя лучше кого-то.

    >И мне плевать на все его достижения и где он там участвует, одна эта ситуация показала его суть.

    >У нескольких тысяч разработчиков достижения побольше будут, я общался более чем с сотней таких людей и мы спорили, и устраивали холивары, и все всегда это было конструктивно, и никто так себя не вёл по отношению к другим людям».

    Пиздец выебоны, по чеклисту искать «уязвимости» в насквозь дырявом js-говне, а апломба столько, как будто он руками валидировал всю обвязку ядерного реактора, причём без доступных исходников, а из инструментов только дизассемблер.

    10

    1
  37. бульбаш:

    Анонимус хуйню какую-то прислал. нахуя вообще этот высер постить,.. зашел в коем веке на ебаное, зарядиться трешем, а тут бля ботаны какие-то сопли распускают про дто. ДТО, да он нам и нахуй не нужен ваш дто!

    8

    2
  38. Сергей:

    Автор токсичный ебаклак, хейтит людей за знания

    1

    2
  39. Йобаный читатель:

    Совсем ёбаная статья. Я тоже не знаю, что за дто и о каком языке речь.
    Вердикт: 100 хуёв из 100

    5

    1
  40. Детектор гандонов:

    Статью писало малолетнее хуйло. Типичные для малолетки словесные обороты, отсутствие аргументации кроме «ко-ко-ко, а ничего, что весь мир так работает», плохо сформулированные предложения и незнание пунктуации выдают в нём вайтишника-самоучку, нахватавшегося умных слов из статей.

    12

    1
  41. Степан Срака Главный Инженер:

    Web-макака с 10-летним опытом не понимает вещи за гранью своих компетенций, только плохо ли это ? Думаю автор статьи врядли наверстает красиво или кубер не развернет. Поэтому и есть смысл специализации в айтихе, мы с ними до Rest-а, они (web-макаки) уже от Rest-а пусть хоть гусей ебут со своими промисами, замыканиями и 1.0 + 0.1 === NaN. Вы когда идете к зубному врачу полечить зуб, просите заодно заглянуть вам в сраку? А за х2? Вот почему-то нет, за рамками айти все понимают о «специализации».

    6

    1
    • Котакбас:

      Смысл слова веб макаки уже неактуален как 10 лет чмонька. Ты блять попробуй на тайпскрипте VueJs йоба машину поднять. Хуй там. Этот термин использовали для вайтишников которые странички на бутстрапчике уёбищно клипали. Либо в студиях просто гавно месили.

      Сейчас весь бекенд и фронтенд по своей сложности уровнялись. То что ты там на бекенде можешь какой то круд захуячить это незначит что ты дохуя умный.

      5

      7
  42. Облачный квантовый нанобомж:

    Я не опнимаю что такое дто и не понял автора статьи и статью тоже не понял потому что у автора сломались клавиши для пунктуации на компуторе у меня тоже ловите шизофреника.

    5

    2
  43. Программист с 11 летним опытом:

    Срань редкая.

    1

    0
  44. 10 років досвіду:

    SRP — Святи́й Ґра́аль

    0

    0
  45. Dto_is_shit:

    Если автора так беспокоит отношение к дто
    какого то типа из инета.
    У пейсателя серьезные комплексы..
    Тут поможет только самоликвидация через ампутацию дто…

    0

    0
  46. zalupa:

    Нет ли в DTO-хульстве антисемитизма?

    А так хуй знает пацаны, я в индустрии уже 25 лет и впервые слышу про это ваше ДТО, а уж из паттернов только синглтон да фасад использовал, и то фасад могу путать с другим, похожим. И прекрасно себя чувствую. чего и вам желаю.

    6

    0
  47. разочаровавшийся:

    я знал нескольких таких юннатов которые дофига бурлили по пустяковым вопросам — потом повзрослели. Но не все — некоторые так и остались вредными и душными — аки ябучий репей, не отъебутся пока с ними не согласишься

    я сам без понятия что с этим делать — чем дальше тем больше в отрасли становится молодёжи. Сказать бы что проблема просто в конкретных людях — нет, все они ведут себя в этом возрасте примерно одинаково.
    как-то нанимался в одну контору, и по вопросам ПМ-а сразу понял — они наняли много молодёжи, а теперь ищут взрослого дядю кто сможет их мамкать и управлять ими. ПМ так и сказал — что будешь делать если девелопер после института тебе ест мозг что надо вот так а не так? И сразу понял — я ебал этим заниматься и быть одновременно и мамкой, и подставлять бочок для покусываний, т.к. оно ещё малое и ему надо утвердиться, и делать проект при этом — короче чтоб ебали мозги и сверху и снизу, и боссы и подчинённые.

    13

    0
    • Угу:

      Потому что им позволяют себя так вести. В любом другом месте получили бы по ебалу и помалкивали, а в ИТ можно повыебываться перед дедушками.

      10

      0
  48. vasia:

    Сколько не стьікался с прогерами которьіе получили образование на россии. Им ничего не возможно доказать и никогда не признаются что неправьі. И чем больше стаж тем твердолобей. Такой себе синдром синьера. Я все знаю и чего тьі меня учиш.
    Сейчас я просто перестал им чтото обьяснять. И тратить на них время.

    5

    3
    • cвiдомая мореройка:

      Сколько НИ стьікался(wtf? «общался»?) с прогерами,(ЗАПЯТАЯ!) которьіе получили образование на УКРАИНЕ. Им ничего НЕВОЗМОЖНО(слитно!) доказать,(ЗАПЯТАЯ, сука) и никогда не признаются,(ЕЩЁ РАЗ ЗАПЯТАЯ) что неправьі. И чем больше стаж,(ЕЩЁ РАЗ ЗАПЯТАЯ) тем твердолобей. Такой себе синдром СИНЬОРА. Я все знаю(ЕЩЁ РАЗ ЗАПЯТАЯ) и чего тьі меня УЧИШЬ.
      Сейчас я просто перестал им ЧТО-ТО обьяснять. И тратить на них время.

      Садись обратно на пляшку, кол с минусом за хрюкотание.

      5

      7
      • vasia:

        Шо ка ,ца,п? Себя узнал? Зацепило?
        И вашу сви.но.со.ба.чью
        Жук — мудак. Фильтров повставлял.

        9

        2
  49. Alex:

    Валидация???
    Какая нахрен валидация в data transfer object???
    У валидации есть есть два стандартных места: клиент и бизнес, синтаксическая/лексическая и требования предметной области соответственно!

    4

    1
  50. Фoкс Йовoвич:

    Вцелом, очень хорошая реакция на ненужное смузиговно для 10-летнего синьора. В то время, как он уже понял, что всё это говно всего лишь инструмент и должно обосновываться в применении прежде чем применяться (чего даун-автор статьи уразуметь не в состоянии). С другой стороны, как джун с 30-летним опытом, могу сказать что зря этот 10-летний синьор бухтит. Всем на его бухтение насрать, за него он уже получает ссаной тряпкой по ебалу от школия выше по должности, а код от его мега-идей станет только проще, а это значит что его будет дешевле поддерживать и зарплаты упадут.

    6

    0
  51. DTOFactory:

    Автор, закинул тебе за щеку DTO. Валидируй.

    2

    0
  52. captain obviousness:

    Джава простой язык, но костылей и прочего мусора в нем over до х.я. Джависты в принципе редко думают своей головой.

    DTO data transfer object часть контракта сервисов. И вот оката ху.ня малята. От убирания DTO в названиях классов структур данных не изменится ровным счётом ничего:) потому что это обычные сериализуемые и десериализуемые структуры данных. В low level программировании их может вообще не быть.

    0

    0
    • дед-мопед:

      «over до х.я»

      чистоплюй?. Думаешь дофига изменилось от того что ты точки вставил? Типа норм сделка с совестью чтоб и ругнуться и не выпачкаться ?

      0

      0
  53. ДТОшник со стажем:

    Так поебать, что пишу пост на ебанное

    0

    0
  54. anon:

    Джавуны в своем репертуаре

    0

    0
  55. имя:

    так шо такое ДТО?

    0

    0
  56. Morty:

    Где Рик?

    0

    0
  57. Лео:

    Охуенно!

    Ссылаешься на умные статьи? Да ты тупой, не умеешь думать, нет своего мнения, всё только чужими словами!
    Говоришь сам? Да ты тупой, несёшь какую-то дичь, почитал бы что другие пишут, а то сам говоришь, а пруфов нет!

    Просто охуенно!

    0

    0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *