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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #obt

当前筛选 #obt清除筛选
Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #468 · 05.11.2024 г., 16:11

Nothing OS 3.0 (A15) | OBT-1 for Phone (2) is here! ❗️Disclaimer 🔽 Downloads: Beta Updater (over Pong-U2.6-241016-1700) | Rollback Package (Instructions) ✍️Installation | To-Do List (Read before proceeding) ⚙️Changelogs 🔔 Updates : @NothingPhone2Updates 💬 Chat : @NothingPhone2 #Pong#OBT#A15

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #184 · 09.11.2023 г., 12:05

Nothing OS 2.5 Open Beta 2 | Phone (2) | Android 14 📝 Details: - Version: 2.5 Beta 2 - Type: #NOS#OBT#A14#Beta - Codename: #Pong - Released: 02/11/23 Links: ⬇️ Download : Beta tool | Beta Package (Full) | Incremental (from beta 1) | Rollback (to 2.0.4) | TG Community Archive ⚙️ Changelogs | Official Intro 🏛Nothing Community Website 📸 Screenshots 🗒To-Do List Disclaimer: - Keep checking system updates (if you are already on beta 1). - Since this is a Beta version, there’s a very small chance the test software may interfere with your data and require a factory reset. In this instance, your data will be lost. We strongly recommend backing up all your data before accessing the software. - Rollback to NOS 2.0.4 Involves data loss, backup prior proceeding - For those getting error "ENOENT" during Android 14 Beta update: Make sure you have a folder named Documents in your storage 🔔 Updates : @NothingPhone2Updates 🐙 Chat : @NothingPhone2

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #173 · 11.10.2023 г., 12:26

Nothing OS 2.5 Open Beta 1 | Phone (2) | Android 14 📝 Details: - Version: 2.5 Beta 1 - Type: #NOS#OBT#A14#Beta - Codename: #Pong - Released: 07/10/23 Links: ⬇️ Download : Beta tool | Beta Package | Rollback | Gdrive 🏛Nothing Community Website (Installation & Changelogs) 📸 Screenshots 🗒To-Do List Disclaimer: - Since this is a Beta version, there’s a very small chance the test software may interfere with your data and require a factory reset. In this instance, your data will be lost. We strongly recommend backing up all your data before accessing the software. - Rollback to NOS 2.0.3 Involves data loss, backup prior proceeding - For those getting error "ENOENT" during Android 14 Beta update: Make sure you have a folder named Documents in your storage 🔔 Updates : @NothingPhone2Updates 🐙 Chat : @NothingPhone2