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

Резултати

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

Търсене: #hebei

当前筛选 #hebei清除筛选

#防控政策#河北#Hebei 【#石家庄 市防控措施暂调整为“出户不出小区”】 在全市人民的大力支持、积极配合下,我市疫情防控取得了初步成效。按照国务院应对新型冠状病毒肺炎疫情联防联控机制综合组《新型冠状病毒肺炎防控方案(第九版)》相关规定,结合当前我市疫情防控形势,经研究决定,9月1日24时以后,桥西区、新华区、裕华区、长安区防控措施调整如下: 以区为行政区划,以小区(村)为单元,以实际居家办公时间(桥西区8月26日0时,裕华区、新华区、长安区8月28日14时)开始计算,连续7日核酸检测结果均为阴性,且7日内未出现密切接触者,防控措施暂调整为“出户不出小区”,实行错峰取物,严格个人防护,避免扎堆聚集,最大限度减少人员流动等防范措施。小区内部的便利店、小超市恢复营业,严格落实错峰购物、验码、测温、一米线、戴口罩等疫情防控措施。其他方面的防控措施参照8月28日发布的《关于防范疫情传播风险部分区域实行居家办公的通告》有关规定执行。 下一步防控措施将根据疫情形势适时调整,另行通告。 【关于调整新冠肺炎风险区域的通告】 根据疫情处置进展,按照国务院联防联控机制《新型冠状病毒肺炎防控方案(第九版)》相关规定,经专家组研判,决定自2022年9月1日24时起,将桥西区振头街道友东嘉苑、胜美家园,汇通街道塔谈佳农市场;鹿泉区铜冶镇永壁东街,共4个高风险区调整为中风险区,其他区域风险等级不变。 调整后,我市共有高风险区45个(桥西区39个、栾城区1个、裕华区1个、新华区1个、平山县1个、新乐市2个),中风险区6个(桥西区3个、鹿泉区1个、新乐市2个)。 (石家庄发布@微信公众平台1、2)

#紧急寻人#河北#Hebei 【#三河 通报一确诊病例密接者行程轨迹,涉北京南站、地铁14号线及1号线】 据河北三河网信办官方微信消息,三河市新冠肺炎防控工作领导小组办公室今日通报一名安徽新冠确诊病例密切接触者的行程轨迹,具体如下: 2021年5月17日,三河市接到辖区居民胡某某报备,称当天早晨发现自己健康码红码。三河市立即进行调查核实,经查实,胡某某是安徽省新冠确诊病例李某某的密切接触者。三河市立即启动相关程序,多部门联动,对其行程轨迹进行排查。 经排査,胡某某5月8日14:20由荆州乘坐D3058到合肥南,(二等座12车17号,与新冠确诊病例李某某同排乘坐),当日18:05由合肥南乘坐G3135次(17车6号)到余姚北,之后在杭州湾金融广场伊尔萨洗衣连锁店进行机器调试工作,直至工作结束离开余姚。 5月11日由余姚北乘坐G274次列车(06车04D号)回北京,17时到达北京南站,后乘坐地铁14号线换乘1号线到达大望路,然后18:02乘坐私人大巴回到燕郊。 12日上午9时步行到某医院接种新冠疫苗,11时许步行回家,涉及相关人员均已采取管控措施。 13日6:40在潮白大桥西乘坐通8路公交车,8:30换乘675到常营下车,到伊尔萨连锁洗衣店调试机器。下午16:00乘坐675路,16:15在结研所换乘818路(京AG5807)于16:30到达欧逸丽庭,16:33乘坐815路(京A03856F)回到星河皓月后步行回家,未外出。 14日6:10乘坐815路(京AW0770)到郎家园站换乘973路公交车到将台路东站下车去北京伊尔萨洗染有限公司上班,18时许由将台东路站乘坐973路到八王坟北站下车,步行到八王坟东站于19:30换乘私人大巴回燕郊。 胡某某自述乘坐交通工具以及外出工作、活动过程中一直佩戴口罩。 三河市新冠肺炎防控工作领导小组办公室提醒:请与胡某某在上述行程轨迹有交集的人员,立即主动与属地防控办或疾控中心联系。(中国新闻社 @ 微博)

🎺星空瞭望

@panguliaowang · Post #17163 · 23.03.2020 г., 02:20

#疫情通报#China#中共国 【#全国 新增确诊 103 例,累计确诊 81601 例,新增出院 459 例,累计出院 72841 例,新增病亡 9 例,累计病亡 3276 例,现存确诊 5484 例,现存重症 1749 例,新增疑似 47 例,现存疑似 136 例,现存医观 10701 例】(中国的数据含港澳台) #湖北#Hubei 新增病亡 9 例(武汉 9 例),新增出院 447 例,现存确诊 4768 例,现存重症 1714 例 #上海#Shanghai 新增境外输入确诊 10 例 #北京#Beijing 新增境外输入确诊 10 例 #广东#Guangdong 新增境外输入确诊 6 例 #福建#Fujian 新增境外输入确诊 4 例 #山东#Shandong 新增境外输入确诊 2 例 #甘肃#Gansu 新增境外输入确诊 2 例 #河南#Hebei 新增境外输入确诊 1 例 #浙江#Zhejiang 新增境外输入确诊 1 例 #重庆#Chongqing 新增境外输入确诊 1 例 #台湾#Taiwan 新增确诊 16 例 #香港#Hongkong 新增确诊 44 例 #澳门#Macao 新增确诊 3 例 (国家卫健委)(湖北卫健委)(北京卫健委)(上海卫健委)(广东卫健委)(福建卫健委)(甘肃卫健委)(山东卫健委)(河南卫健委)(浙江卫健委)(重庆卫健委)(台湾 CDC)(香港政府新闻网)(澳门政府网)