@taochanyuantu · Post #192 · 18.06.2024 г., 09:32
#Yepfast
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #yepfast
@taochanyuantu · Post #192 · 18.06.2024 г., 09:32
#Yepfast
Hashtags
@guyingcs · Post #500 · 15.09.2024 г., 12:25
#中秋优惠码#优惠码#中秋套餐 #FacMata ANNUALLY-30OFF 年付优惠码 持续到 23 日清晨 季付和半年付可使用 QUARTERLY/SEMIANNUALLY-10OFF 获取 10% 优惠 #TKV 开学季优惠:PCF7KIY38Y 全场8折,有效期至 2024-12-31 #NiceDuck 9折优惠码:duck-9 限月付、季付、半年付使用 8折优惠码:duck-8 限年付使用 有效期:2024/9/9—2024/9/29 #ESNC Basic系列:15% OFF Premium系列:20% OFF 2024/09/15 00:00 ~ 2024/09/17 23:59 #守候网络 周年庆活动将于9月1日开启,9月30日结束,活动内容如下: 1. 支付手续费限时全免 2. 全新优惠码:10%off #YkkCloud 全场88折:UZsoKYQh 有效期:2024年9月14日23:59 至 2024年9月18日00:00 #Ash 9折优惠码:中秋-10off 有效期:9.11-9.17 #FanrrCloud 7折扣优惠劵:gzyctf520 有效期:9/14 00:00——9/18 00:00 按周期 18.88元/300G/月 『按周期』2024中秋限定 传家宝 40元/50G/年付 『传家宝』限20 不限时 99.99元 888G 『不限时』2024中秋限定 #心茶 88折优惠码:niceSep 有效期至9.19 00:00 #光环网络 Special「中秋限定 - 中转计划」:总量高达888GB的一年期不重置的流量套餐,价格为88元。 - 此套餐将在9月17日24时停止销售. - 此套餐有效期为购买之日起一年内有效. #智连云 月/季/半年优惠20%:1111 年付优惠30%:2222 不限时10%优惠码:3333 有效期:9.1-9.30 #PokerCloud 九折优惠码:PKMD90 #玉兔 月付9折优惠码:zhongqiu-9 季付85折优惠码:zhongqiu-85 半年付82折优惠码:zhongqiu-82 年付8折优惠码:zhongqiu-8 有效期:2024/9/12—2024/9/17 #FlowerCloud MOON24 全场8折,不包括 Air / 企业套餐. 2024年 9月1日 0:00 开始到 9月30日 23:59 #YepFast#椰皮加速 季付优惠码:ZQ202490 年付优惠码:ZQ202480 2024年9月9日-2024年9月18日 #McDonald 中秋节七折优惠码“赏花赏月赏秋香” 活动至9.17号 #肥猫云#fatcatcloud 月付/季度/半年付:领取 fm85 可以享受85折优惠 年付以及以上:领取 fm80 可以享受8折优惠 至9月30号晚上23点59分 #NieRCloud 我们新增了2024/09/14 22:00 ~ 2024/09/20 00:30有效的 85折优惠码 中秋快乐 #FilmCloud 🌕 中秋特惠 专属周期订阅套餐,使用优惠码“ZQ81510”享9折优惠! 不限量发放,与家人共享团圆时刻! 🍂 秋分特惠 使用优惠码“QF92215”享85折优惠,限量10份! 抢先领取,共庆丰收之礼! 🎁 不限时订阅特惠 “ZQBXS05”:立减5元,限量10份 “ZQBXS10”:立减10元,限量5份 ⏰ 活动时间 优惠码有效期:2024年9月12日 20:00 至 2024年9月22日 23:59 #Nutbit#坚果 ZQ20 订购 立享 8折优惠!🌕 优惠码2024年9月21日 零点失效 #CornSS 中秋佳节来临,祝大家阖家欢乐。附上八折优惠码。 优惠码:cornss 优惠额度:八折 截至日期:2024.09.18 0:00 #清风云 中秋节活动: 优惠码: 清风云开业了 65折 时间:9.14-9.17 特殊套餐不可用 #柚子兔 月付八折:中秋20%OFF 季付九折:中秋10%OFF 每位用户仅能使用一次 有效期:2024.9.14起至2024.9.17 #ENET 中秋佳节快乐,一起飞吧。附上八五折优惠码 优惠码:enet2024 优惠额度:八五折 适用套餐:限时套餐除外全场适用 截止日期:2024.9.17 23:59 #萌物云 中秋特惠 除白嫖套餐外全场套餐75折优惠 优惠码:mwyzqkl 购买年付额外赠送3个月时长 购买2年付额外赠送半年时长 购买3年付额外赠送一年时长 2024年9月15日 12:00 至 2024年9月18日 23:59 #Linkeless 中秋85折优惠 有效时间2024/09/14 20:00 ~ 2024/09/18 00:00 Moon Festival #SSTAP 开放 🧉年付 x 完全节点 的购买权限 优惠卷:FYCkLqe4 #忽悠云 35%Off 优惠码:202409171 (适用于季度付款及以上套餐) 有效期截止至:2024年9月17日 23:59 -50%Off 优惠码:202409172 (适用于月付套餐) 有效期截止至:2024年9月17日 23:59 #HIMEMY 月付以上八折: (¦3[▓▓],09/14-09/18