TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #onlinemuseum

当前筛选 #onlinemuseum清除筛选
dopingpong

@dopingram · Post #3046 · 05.06.2024 г., 12:44

«Аврора. Спящая красавица», digital art by Doping Pong, 2008-2009 Афиша, фирменный стиль и эскизы оформления сцены. Спектакль по мотивам сказки Шарля Перро «Спящая красавица» стал одной из самых громких премьер XI Фестиваля русского искусства на Лазурном берегу в Ницце в январе 2009 года. Первоначально команда шоу была сформирована в следующем виде: Художник-постановщик – арт-группа Doping Pong Музыка к балету «Спящая красавица» –П.И.Чайковский Продюсер – Олег Чесноков В процессе работы над новым представлением произошли кадровые изменения и появились новые люди, включая режиссера. «Аврора» – новое представление театра-цирка “Кракатук” – в результате делали разные люди в разные этапы времени. Премьера нового спектакля «Аврора. Спящая красавица» состоялась в Национальном театре Ниццы на XI Фестивале русского искусства на Лазурном берегу, где критики назвали ее «бомбой современного театра». От Doping Pong в спектакле остались афиша, фирменный стиль и общая атмосфера с массой мелких деталей. В России «Аврора. Спящая красавица» была представлена в Центральном академическом театре Российской армии, где состоялась московская премьера экспериментального спектакля. Обладатель Гран-при Международного фестиваля искусств во Франции театр-цирк «Кракатук», главный образ которого также был создан Doping Pong, прославился благодаря одноименному спектаклю по сказке Гофмана «Щелкунчик и мышиный король», созданному молодыми цирковыми актерами, которых продюсер Олег Чесноков набирал по всей стране для проекта новой театральной школы. #dopingpong#avrora#krakatuk#theater#circus#чайковский#шарльперро#perfomance#onlinemuseum

dopingpong

@dopingram · Post #3035 · 01.06.2024 г., 11:06

DIGGER HD, design by Doping Pong, 2009 Обновление классической аркадной компьютерной игры 80-х. Российско-американская компания Creat Studios выпустила Digger HD для Sony PlayStation® Network в Северной Америке и Европе осенью 2009 года. Фирменный стиль, а также дизайн всех героев и уровней создала арт-группа Doping pong. Digger HD, ремейк классической компьютерной игры DIGGER™© 1983 Windmill Software Inc., претерпел серьезные изменения в новом тысячелетии, оставаясь при этом верным своему игровому винтажному процессу. Игроки управляют небольшой копательной машиной, которая должна пробраться через подземный лабиринт. Геймеры роют землю по горизонтали и вертикали, прокладывая свой собственный путь, собирая драгоценности, монеты и другие бонусы, избегая при этом преследующих их монстров. «Очень приятно видеть, что такая замечательная игра, как Digger™, возвращается в обновленном виде в 21-м веке», — сказала Джо-Энн Кемпе, президент Windmill Software Inc. и соавтор Digger™. «Мы в восторге от платформы PSN, которая позволит новому поколению геймеров открыть для себя Digger HD и насладиться им». Digger HD для PlayStation Network – это 60 уровней подземных лабиринтов, где за каждым углом что-то скрывается, будь то монстр, бонус или мешок с золотом. Раскапывайте археологические артефакты и палеонтологические останки, погребенные под поверхностью земли. Собирайте все трофеи и узнайте, как получить секретные. More info: https://blog.playstation.com/archive/2010/02/18/digger-hd-demo-now-available/ https://www.playstationlifestyle.net/2009/09/29/creat-studios-digger-hd-digs-its-way-onto-the-psn-this-week/ Official Trailer: https://youtu.be/IclImKm_GLg?si=2YxnAN99YKSRgEej #dopingpong#dopingames#digger#hd#sony#playstation#creat#studios#onlinemuseum