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

Резултати

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

Търсене: #lhd

当前筛选 #lhd清除筛选
PT风向旗

@Ptfxq · Post #413 · 06.12.2022 г., 17:39

#LemonHD#LHD#综合公告 柠檬三周年站庆活动预公告 活动一:12 月 31 日~1 月 2 日,开放邀请注册(需使用邀请卡,在购物中心内选购),Elite User 及以上的普通用户可发 1 个邀请,VIP 用户可发 2 个邀请,工作组成员可发 3 个邀请(优秀工作组成员可发更多邀请,具体咨询管理)。 活动二:12 月 31~1 月 2 日,站免三天。 活动三:1 月 1 日~1 月 8 日,开放购买三周年徽章,在论坛灌水区开展三周年站庆盖楼抽奖活动。 另外: 1、近期可能随时关闭游客访问,请保存好网站的 Cookie,并且不要在公共场合讨论本站。 2、2022Q4 美工招募进行中,有兴趣的朋友请 点击 查看招募详情。

PT风向旗

@Ptfxq · Post #378 · 18.10.2022 г., 01:01

#LemonHD#LHD#柠檬 重申三条重要发布规则:禁止发布违规打包资源、禁止发布重复版本的资源、禁止发布除DVD原盘外的DVD资源。 除发行过套装的原生原盘外,禁止任何格式(例如DIY/Remux/Encode等)的打包发布,禁止任何个人主观性的打包发布。违规者将会被禁用发布权限或封号。 如发现恶意重复发布相同版本资源行为。违规者将会收到警告或禁用发布权限或封号。 DVD只允许发原生原盘,禁止发布DVDrip、DVD remux、DVD DIY、DVD custom等。违规者将会受到警告或禁用发布权限或封号。

PT风向旗

@Ptfxq · Post #437 · 20.05.2023 г., 15:21

#LHD#LemonHD#柠檬#站点关闭 柠檬在今天紧急解散了其各个QQ群,据TG群匿名管理员所述,因为站点管理组持续被匿名用户发送管理组个人信息,威胁到管理组人身安全,故而解散。 而在刚刚柠檬将其官方TG群组名改为了「江湖路远,有缘再见」,同时在12点32分,柠檬管理也在其TG群组宣告站点关闭。 相关消息链接:https://t.me/LemonHD_Official_Chat_Chinese/167292

PT风向旗

@Ptfxq · Post #360 · 30.09.2022 г., 08:00

#LemonHD#LHD#柠檬#瓜 柠檬取消了其“DVD原生原盘发种大赛”中的优秀奖和参与奖,只保留了前十名的奖励。 Update 01: 更新了公告,标注了“PS:因管理组考虑不周,优秀奖和参与奖取消,10月1日到5日站免5天作为补偿。”

PT风向旗

@Ptfxq · Post #346 · 11.09.2022 г., 00:01

#LemonHD#LHD#柠檬#拆门 由于某些原因,9月12日晚上22点关闭游客浏览。 Due to some reasons, guest blowsing will be turn off at 22:00 12th September. 请各位小伙伴保持登录状态,不要点击“退出”按键,备份好cookies。 Please keep your login status and do not press the "logout" button. Backup your cookies. 重开时间计划在11月后。 The date of re-open may be after November.

PT风向旗

@Ptfxq · Post #812 · 18.12.2024 г., 10:00

#LemonHD#LHD#柠檬#站点免费#站点活动#开放邀请#群友投稿 站免时间:2024-12-25 0:00 至 2025-01-02 0:00 活动期间 PU 及以上等级可发邀请 活动期间开放五周年徽章购买,一至四周年徽章返场。 小编:这个五周年很耐人寻味,不管你信不信,小编反正是信了。