TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #247 · 11.03

Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе. Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода. Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу". С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой. Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого. Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :) Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие. #dev

Hashtags

Резултати

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

Търсене: #kde

当前筛选 #kde清除筛选
雷姬家的阁楼书架

@rekichannel · Post #23130 · 03.12.2024 г., 10:45

KDE 项目在一天内收到的捐款两倍于前一个月 2024-12-03 17:23 by 少数派报告 KDE 项目今年 8 月底宣布,从 Plasma 6.2 开始将在桌面环境中直接请求捐款。用户会在每年的 12 月看到一次系统通知,请求向非盈利组织 KDE e.V.捐款。开发者表示他们尽最大努力减少请求捐款的系统通知的恼人程度,通知很小且不显眼,容易关闭。关闭之后一年之后才会再次出现。用户也很容易永久关闭该通知。现在 12 月已经过去了一天,请求捐款的系统通知是否有效?开发者报告,非常有效,KDE e.V.在一天内收到的捐款两倍于之前一整个月收到的捐款。对社交网络上相关评论的跟踪显示,大部分用户对此都持正面态度,几乎没有差评。Kubuntu 和 Debian 等主流发行版尚未使用 Plasma 6.2 桌面,开发者猜测明年 12 月的情况可能会更好。 https://www.solidot.org/story?sid=79120 https://pointieststick.com/2024/12/02/i-think-the-donation-notification-works/ #KDE

Hashtags

GNU Linux Latino 🐧

@gnulinuxlatino · Post #21466 · 14.05.2026 г., 02:23

Sovereign Tech Fund invierte más de 1 millón de euros en el desarrollo de software #KDE https://victorhckinthefreeworld.com/2026/05/13/sovereign-tech-fund-invierte-mas-de-1-millon-de-euros-en-el-desarrollo-de-software-kde/

Hashtags

123•••67
ПредишнаСтр. 1 от 7Следваща