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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #a13

当前筛选 #a13清除筛选
Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #11 · 09.11.2023 г., 03:38

¡New build available! #A13#CLO#diting Code Name:diting Device:Xiaomi 12T Pro File Name:xperience-17.1.0-20231007-NIGHTLY-diting.zip File Size:3.1G MD5SUM:a8cf9c327fadb27d55a2720b92f060aa Downloads: SourceForge | Pling Maintainer:@TeamMEX_XDA (Kισżż) Changelog: - System: Update translations - System: Performance improvements - System: hotfix fixup fod - System: Final A13 Notes: Probably APTX adaptive broken If you like this project and have found it useful please consider supporting us by making a donation via PayPal. Donate PayPal

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #14 · 10.11.2023 г., 01:58

#crDroid#Unofficial#diting#A13 Crdroid 9.10 UNOFFICIAL | Android 13 Updated: 05-11-2023 ▪️Download ▪️Support Changelog: • Initial Vendor OSS Build Credits: Thanks to @TeamMEX_XDA for providing dt By@Mohammadnt96 Follow@xiaomi_12tpro_updates Join@xiaomi_12tpro_chat

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #199 · 30.11.2023 г., 14:07

arter97 Kernel | A13 | Nothing Phone (2) 📝 Details: - Version: r1 (#A13 supported) - Type: #Kernel - Status: #Stable - Codename: #Pong - Released: 30/11/23 ⬇️ Download: Normal & KSU Version 🎙 Support Group: Here 🏛 XDA Thread : Here (for more info and older changelogs) 🏷Tags : #Stock#Kernel#arter97#T ✨Changelogs: (r1) - First stable release - Switched to LLVM 17.0.6 compiler - LA.VENDOR.1.0.r2-07200-WAIPIO.QSSI13.0 merged - LRNG v52 random driver added (improves RNG performance by 30%) ✍️ Note: - Android 14 (NOS 2.5) is not supported! 👤 Maintainer : @arter97 🔔 Updates : @NothingPhone2Updates 🐙 Chat : @NothingPhone2