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

Резултати

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

Търсене: #find

当前筛选 #find清除筛选
ʜ.-ʜ. ʜᴏʟᴇ

@H2HOLE · Post #49 · 23.08.2023 г., 09:33

發現博客來網路書局有一個(每字,美句)—收藏、紀錄、分享你最愛的一句活動頁面,可以讓使用者提交那些在書中瞥見且觸動他們的句子;還不僅僅只是書籍,也有可能是 CD 專輯中的內容。 點了幾篇發現應該有些規律,可以撰寫簡單的腳本程式去抓取內容,比如網址部分是: https://activity.books.com.tw/everylettermatters/sentence/single/<SENTENCE_ID> • 句子編號 <SENTENCE_ID> 看起來是有序的 • 句子會被嵌入圖片中,但是可以從 "分享到 Line" 的這一個功能的連結抓取,因為句子內容會被附加到分享連結中 • 出處跟作者部分就簡單了一點,可以在 <head></head> 裡面抓取 <meta> 標籤 ___ 感覺伊哥會對這個有些興趣,剛剛點了 "最多人收藏" 看一下大家都分享些什麼,排名靠前的竟然有 Peter Su…… #Find

Hashtags

Libreware

@libreware · Post #1024 · 20.01.2022 г., 16:45

czkawka Multifunctional app to #find#duplicates, empty folders, similar images etc. Czkawka is a simple, fast and free app to remove unnecessary files from your computer Features: • Written in memory safe Rust • Amazingly fast • Multi-platform • Cache support • CLI and GUI frontend • Finds: - Duplicates - Empty files/folders - Big files - Temporary files - Broken files - Similar images/videos/musics Download: https://github.com/qarmin/czkawka/releases https://github.com/qarmin/czkawka @foss_desktop

VIP_影视分享

@wangzhuanzhan · Post #33057 · 14.09.2024 г., 06:59

P-p判p我w有y罪z- 判我有罪 Find Me Guilty (2006) 直达链接:https://pan.quark.cn/s/9e38c2733a50 #判我有罪#Find Me Guilty #老大无罪 #Find Me Guilty: The Jackie Dee Story 链接:https://link3.cc/sf_com #电影#喜剧#美国#00年代

VIP_影视分享

@WangZhuanZhan · Post #34770 · 03.11.2024 г., 05:58

X-x寻x找z心x中z的d你n- 寻找心中的你 王家欣 (2015) 直达链接:https://pan.quark.cn/s/e95386c8b3c3 #寻找心中的你 #王家欣 #Wong Ka Yan #Find My Mind of You 链接:https://link3.cc/sf_com #电影#爱情#内地#10年代

搜书神器 读书动态

@BookLogSFW · Post #91115 · 18.05.2026 г., 06:03

书名:crash course for the new gre 4th editio - princeton review 文件:英文 · MOBI · 2MB · 4万字 · 0R 统计:308热度 | 5下载 | 1点赞 | 0收藏 评级:0分 (0人) 💬 质量:5分 (0人) 标签:#answer#question#Quantity#one#choices#two#number#choice#get#passage#re#time#word#like#questions#sentence#know#problem#GRE#first#find 上传:👤Swof #预览#SFW#收藏书籍 📜我喜欢的书籍[1本]

香港良民證須知 好消息!英國政府專責處理 BN(O) 香港人事宜嘅部門 DLUHC,今日(2022年11月11日)就困擾香港人已久嘅申請良民證 (CNCC) 問題,為英國僱主以及一眾香港人撰寫公開信,解釋申請 CNCC 事宜,亦就指定行業列明指引,供英國僱主及香港人參考,以便利香港人就業。指定行業包括:教育、醫療、成人護理、的士/商用私家車司機以及航空業。你可以將有關英語信件的連結給予你的未來僱主,讓他們了解有關安排。 如有任何疑問,歡迎大家向英國港僑協會就業小組查詢。 電郵: [email protected] 英國港僑協會就業小組 #英國#港僑#協會#移英#港人#家園#計劃#hongkonger#hongkongers#hong#kong#people#britain#uk#united#kingdom#mission#perm#就業#搵工#工作#employment#find#job#seek#work#cncc#良民證#良民証#信