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

Резултати

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

Търсене: #lupin

当前筛选 #lupin清除筛选
爷青回动画分享频道

@Yeqingjie_GJG666 · Post #677 · 17.11.2022 г., 02:22

鲁邦三世 特别剧场版合集(1989-2010) [蓝光收藏版] ◎年 代 1989-2010 ◎产 地 日本 ◎类 别 剧情 / 奇幻 / 冒险 ◎译 名 鲁邦三世 / ルパン三世 / Lupin III Special ◎简 介 “鲁邦三世”是日本动漫界的传奇,有不死传说之喻,漫画作者加藤一彦(Monkey Punch)曾表示,鲁邦三世的冒险精神是他一生追求的,身为漫画家的他,主要的休闲活动就是创作,所有的梦想、幻想都在“鲁邦三世”实现。猴子拳将鲁邦三世塑造成一个让人无法讨厌的怪盗,让读者羡慕鲁邦三世逍遥的生活。鲁邦一行周游于世界各地,不时重操盗窃的老本行。 大 小:524.8G 标 签:#鲁邦三世#ルパン三世#Lupin#LupinIII#Special#动漫#动画#爷青回 阿里链接:https://www.aliyundrive.com/s/8nTqkefFpdC 来自分享者:Beau 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie

爷青回动画分享频道

@Yeqingjie_GJG666 · Post #673 · 12.11.2022 г., 13:43

鲁邦三世 PART4(2015) [BD-rip] ◎年 代 2015 ◎产 地 日本 ◎类 别 剧情 / 奇幻 / 冒险 ◎豆 瓣 9.3 ◎IMDB tt4129452 ◎译 名 鲁邦三世 意大利的冒险 / ルパン三世 新シリーズ / Lupin III - L'avventura italiana / ◎简 介 “鲁邦三世”是日本动漫界的传奇,有不死传说之喻,漫画作者加藤一彦(Monkey Punch)曾表示,鲁邦三世的冒险精神是他一生追求的,身为漫画家的他,主要的休闲活动就是创作,所有的梦想、幻想都在“鲁邦三世”实现。猴子拳将鲁邦三世塑造成一个让人无法讨厌的怪盗,让读者羡慕鲁邦三世逍遥的生活。鲁邦一行周游于世界各地,不时重操盗窃的老本行。 大 小:36.7G 标 签:#鲁邦三世#鲁邦三世part4#ルパン三世#Lupin#LupinIII#动漫#动画#爷青回 阿里链接:https://www.aliyundrive.com/s/Z4RK7iJ7Cvh 来自分享者:yh 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie

爷青回动画分享频道

@Yeqingjie_GJG666 · Post #672 · 11.11.2022 г., 13:09

鲁邦三世 TV版系列2(1977) [BD-rip] ◎年 代 1977 ◎产 地 日本 ◎类 别 剧情 / 奇幻 / 冒险 ◎豆 瓣 9.3 ◎IMDB tt0159192 ◎译 名 鲁邦三世part2 / ルパン三世 (TV第2シリーズ) / Rupan sansei: Part II / The New Lupin III ◎简 介 黄金大劫案之后5年,鲁邦一伙重又聚首,开始了新的冒险…… 本作为鲁邦三世第二部TV系列,放送于1977年10月3日-1980年10月6日,共计155话,片中鲁邦身着红色外套。这一TV系列的放送,以及期间78年、79年两部剧场版,真正把鲁邦推上了日本国民动画的宝座。 大 小:209.7G 标 签:#鲁邦三世#鲁邦三世part2#ルパン三世#Lupin#LupinIII#动漫#动画#爷青回 阿里链接:https://www.aliyundrive.com/s/bymSVH3HVgH 来自分享者:yh 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie

爷青回动画分享频道

@Yeqingjie_GJG666 · Post #671 · 10.11.2022 г., 14:26

鲁邦三世 TV版系列1(1971) [BD-rip] ◎年 代 1971 ◎产 地 日本 ◎类 别 剧情 / 奇幻 / 冒险 ◎豆 瓣 9.2 ◎IMDB tt0159175 ◎译 名 鲁邦三世part1 / ルパン三世 (TV第1シリーズ) / Lupin the 3rd TV series aka The Green Jacket series ◎简 介 这是《鲁邦三世》(ルパン三世,Lupin III)动画系列的第一部,1971-1972年上映。又称《鲁邦三世之绿夹克系列》(因为片中鲁邦三世的正装为绿色外套),原计划拍摄26话,最终完成23话。据说这是第一部面向非青少年观众的动画作品,因为其中出现较多(相对当时的动画作品而言)暴力,欺诈。而藏在这些背后的则是大量令人捧腹的喜剧成分。本作基于Monkey Punch(加藤一彦)的《鲁邦三世》漫画系列,监督大塚康生,并有宫崎骏等多位后来的动漫重量级人物担任制作班底。本作奠定了整个鲁邦动画系列的基调,后来的鲁邦系列作品还多次从本系列中攫取素材。鲁邦从此进军荧屏,并一跃成为日本国民级动画经典,活跃至今。 大 小:18.1G 标 签:#鲁邦三世#鲁邦三世part1#ルパン三世#Lupin#LupinIII#动漫#动画#爷青回 阿里链接:https://www.aliyundrive.com/s/mAMYBYDr8e7 来自分享者:yh 投稿机器人:@yeqinghuibot 爷青回频道:@yeqingjie_GJG666 爷青结群组:@yeqingjie