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

Резултати

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

Търсене: #hugo

当前筛选 #hugo清除筛选
ALL About RSS

@AboutRss · Post #808 · 11.09.2020 г., 01:00

为基于 Hugo 的博客开启 RSS 全文输出 用 #Hugo 生成的静态博客,不会将全文输出到 RSS,一般是输出正文 <!—more—> 之前的部分,即输出文章的 Summary。所以,这篇 #教程 告诉你只要稍微改动一点 Hugo 的 RSS template,即可将全文输出到 RSS : Displaying the Full Content in Hugo's RSS feed 如果,你想不动 .xml 的 <description>,靠增加 <content> 来输出全文,可以看看另一篇: A BETTER RSS FOR HUGO 不过,要注意的是,这两篇针对的 Hugo RSS template 不大一样,请以官网的为准。

Hashtags

Find Blog👁发现博客

@FindBlog · Post #185 · 23.04.2023 г., 14:53

Dejavu 向大家展示如何通过 Cloudflare Pages 搭建 Hugo 个人博客。 内容丰富、详细,简单易懂,如果你对于搭建 Hugo 博客有想法或者困难,希望这篇教程能对你有所帮助。 地址:Dejavu's Blog #Hugo#Article 频道:@FindBlog

Find Blog👁发现博客

@FindBlog · Post #578 · 09.03.2025 г., 14:33

Hugo ʕ•ᴥ•ʔ Bear Blog ✨ Neo——基于 Bear Blog 的 Hugo 主题 从 Hugo Bear Blog 移植而来,由于原作者选择与原版 Bear Blog 保持一致,因此我选择创建一个更具扩展性和功能丰富的 Hugo Bear Blog。 作者对于这个主题,有自己的原则:1. 继续坚持 Bear Blog 的理念;2. 保证能通过配置还原到和 Hugo Bear Blog 甚至是和 Bear Blog 一致。 演示地址:https://rokcso.com/ 项目地址:https://github.com/rokcso/hugo-bearblog-neo/ #Theme#Hugo 频道:@FindBlog 群组:@FindBlog_Group

Hashtags

Find Blog👁发现博客

@FindBlog · Post #334 · 17.11.2023 г., 07:44

推荐一个 Hugo 主题:Hugo-BearBlog 主题灵感来源于静态博客托管服务网站 BearBlog,一比一复刻,使用 Hugo 作为博客的朋友可以体验尝试。 十分简洁、轻量,每个页面甚至只有5KB容量。我非常喜欢这个主题,可惜舍不得 WordPress,希望来个大神移植一版~ 项目地址:https://github.com/janraasch/hugo-bearblog 演示地址:https://janraasch.github.io/hugo-bearblog/ #Theme#Hugo 频道:@FindBlog 群组:@FindBlog_Group

Hashtags

Dejavu's Blog

@dejavuBlog · Post #2487 · 06.06.2023 г., 09:03

#Hugo#主题 推荐 ▎itheme 一款果子味的主题 项目:https://github.com/floyd-li/hugo-theme-itheme 演示:https://hugo-theme-itheme.netlify.app/ 频道 @dejavuBlog 群组 @dejavuGroup

Hashtags

HuTalk胡说

@hutalk · Post #840 · 06.04.2023 г., 05:58

🤣本来看到博友使用 Cloudflare Pages+Hugo 的方案,我挺心动。然后就使用 #ChatGPT 查了一下部署教程,结果到最后还是差点。 🥹我还是老老实实用 #WordPress 吧,毕竟我还是对这个用了5年的程序更加熟悉和熟练。 对我来说,使用 #Hugo 虽然金钱成本更低,但是学习成本远远大于使用 WordPress。

12
ПредишнаСтр. 1 от 2Следваща