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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #osmo

当前筛选 #osmo清除筛选

🐬DOLPHIN | AI PREDICTIONS 13.01.2024 00:00 GMT Expected 5% Profit/Loss in 24 Hours #OSMO | 1.7437 | PP: 82% | LP: 97% #SEI | 0.6791 | PP: 70% | LP: 99% #STX | 1.634 | PP: 68% | LP: 98% #SKL | 0.08865 | PP: 63% | LP: 91% #OM | 0.06588 | PP: 57% | LP: 98% #WNXM | 53.81 | PP: 26% | LP: 92% #CHR | 0.2573 | PP: 25% | LP: 99% #ICP | 12.232 | PP: 20% | LP: 93% #NEXO | 0.893 | PP: 18% | LP: 94% #BNB | 296.6 | PP: 5% | LP: 92% ——————————————————————— Total Predictions: 367 PP > 50%: 12 LP > 50%: 51 PP > 60%: 11 LP > 60%: 38 PP > 70%: 8 LP > 70%: 26 PP > 80%: 3 LP > 80%: 13 PP > 90%: 0 LP > 90%: 10 ——————————————————————— PP: Profit Probability | LP: Loss Probability

🐬DOLPHIN | AI PREDICTIONS 17.03.2024 00:00 GMT Expected 5% Profit/Loss in 24 Hours #TROY | 0.002931 | PP: 99% | LP: 14% #XLM | 0.1292 | PP: 99% | LP: 14% #ZEC | 29.08 | PP: 99% | LP: 14% #QNT | 123.4 | PP: 99% | LP: 15% #PENDLE | 2.5185 | PP: 99% | LP: 16% #SNT | 0.04476 | PP: 99% | LP: 16% #SNX | 3.996 | PP: 99% | LP: 16% #VIB | 0.08893 | PP: 99% | LP: 16% #WING | 9.6 | PP: 99% | LP: 16% #YFI | 8877 | PP: 99% | LP: 16% #POWR | 0.3938 | PP: 99% | LP: 17% #PYR | 7.716 | PP: 99% | LP: 17% #SCRT | 0.6228 | PP: 99% | LP: 17% #SXP | 0.4379 | PP: 99% | LP: 17% #TIA | 13.75 | PP: 99% | LP: 17% #TWT | 1.3507 | PP: 99% | LP: 17% #UMA | 4.015 | PP: 99% | LP: 17% #PROS | 0.5068 | PP: 99% | LP: 18% #PUNDIX | 0.6027 | PP: 99% | LP: 18% #WAXP | 0.07902 | PP: 99% | LP: 18% #VET | 0.04046 | PP: 99% | LP: 20% #VTHO | 0.003851 | PP: 99% | LP: 20% #RDNT | 0.3406 | PP: 99% | LP: 23% #SC | 0.009372 | PP: 99% | LP: 24% #WOO | 0.4561 | PP: 99% | LP: 24% #WRX | 0.2741 | PP: 99% | LP: 26% #USTC | 0.02857411 | PP: 99% | LP: 30% #T | 0.03411 | PP: 99% | LP: 31% #UNFI | 7.656 | PP: 98% | LP: 13% #VGX | 0.1251 | PP: 98% | LP: 13% #SFP | 0.708 | PP: 98% | LP: 14% #ONG | 0.3793 | PP: 98% | LP: 16% #PORTO | 2.738 | PP: 98% | LP: 16% #RPL | 29 | PP: 98% | LP: 16% #SKL | 0.08973 | PP: 98% | LP: 17% #WAN | 0.2703 | PP: 98% | LP: 17% #PEOPLE | 0.04006 | PP: 98% | LP: 18% #XTZ | 1.291 | PP: 98% | LP: 18% #OSMO | 1.3818 | PP: 98% | LP: 19% #ONT | 0.3293 | PP: 98% | LP: 20% #PERP | 1.53711 | PP: 98% | LP: 20% #POLYX | 0.2222 | PP: 98% | LP: 20% #QKC | 0.013515 | PP: 98% | LP: 20% #RAD | 2.355 | PP: 98% | LP: 20% #REQ | 0.1284 | PP: 98% | LP: 20% #SAND | 0.6274 | PP: 98% | LP: 20% #TRU | 0.07445 | PP: 98% | LP: 20% #UTK | 0.1067 | PP: 98% | LP: 20% #VOXEL | 0.3238 | PP: 98% | LP: 20% #XRP | 0.6031 | PP: 98% | LP: 20% ... ——————————————————————— Total Predictions: 371 PP > 50%: 370 LP > 50%: 54 PP > 60%: 370 LP > 60%: 31 PP > 70%: 364 LP > 70%: 16 PP > 80%: 257 LP > 80%: 3 PP > 90%: 138 LP > 90%: 0 ——————————————————————— PP: Profit Probability | LP: Loss Probability