Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе.
Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода.
Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу".
С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой.
Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого.
Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :)
Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие.
#dev
🇺🇸Трамп не вдавался в детали мирного плана. В Белом доме не знают, что происходит, — WP со ссылкой на американского чиновника
Президент США не слишком вовлечён в детали.
«Вы ему говорите: „Я постараюсь договориться“. Он отвечает: „Отлично, иди и посмотри, что можно сделать“. Вот такой уровень его погружения в вопрос», — сказал чиновник.
🔹#Трамп#WP#США
📱Спасибо, что следите за новостями вместе с 🤨News!
➡️Поддержать канал Boostами
Washington Post: как остаться наедине со своими мыслями
Думать - это сложно, говорим без всякой иронии. Особенно если речь идет о размышлениях не над какой - то конкретной задачей, но просто в качестве внутренней работы или даже удовольствия ради. Однако, как и любой практике, подобным размышлениям можно научиться, и сегодня мы поговорим о том как это сделать.
«Если мы не единственный вид, то один из немногих видов, у которых есть такие внутренние расширенные линии мыслей, не только о том, что уже произошло или может произойти, но и о том, что никогда не произойдет или могло бы произойти»,
https://theidealist.ru/alonewth/
#WP#человек#мышление#психология
The Washington Post: как правильно держать телефон
«Вы просто неправильно его держите» - сказал однажды Стив Джобс в ответ на обвинения пользователей в том, что его детище плохо ловит сотовую связь. Сегодня врачи повторяют эту ставшей классической реплику, но уже по другому поводу: оказывается, правильно держать смартфон необходимо для того, чтобы минимизировать вред от его использования.
«Идеальный способ держать телефон — не держать его вообще».
https://theidealist.ru/holditright/
#WP#технологии#здоровье#смартфоны
The Washington Post: удивительно простое упражнение, которое поможет снизить кровяное давление
Есть проблемы с давлением? Немного людей возрастом за 30 могут похвастать тем, что у них таких проблем нет. Но не всегда стоит спешить принимать горстями таблетки. По мнению специалистов, регулярное выполнение упражнений вроде приседаний у стены может оказать потрясающий оздоровительный эффект. Заранее предупреждаем: давление - не шутка, и перед внедрение любых нагрузок лучше проконсультироваться с врачом!
«Недавнее исследование, опубликованное в British Journal of Sports Medicine, предполагает, что изометрические упражнения, такие как приседания у стены, могут помочь снизить кровяное давление даже более эффективно, чем другие формы упражнений, включая аэробную активность, силовые тренировки или высокоинтенсивные интервальные тренировки».
https://theidealist.ru/lowerubp/
#WP#наука#здоровье#упражнение
WP: в свои 77 лет она в такой же форме, как 25-летняя. Что ее тело рассказывает нам о старении
Джинни Райс — яркий пример того, что возраст не является пределом для физических возможностей. В свои 77 лет она пробежала Бостонский марафон и побила мировой рекорд в возрастной группе 75–79 лет. Её физиологические показатели, особенно уровень VO₂ max, соответствуют уровню 25-летней женщины. Учёные изучают Райс, чтобы понять, как тренировки и, возможно, гены помогают противостоять старению. Начав бегать в 35 лет для поддержания формы, Райс со временем стала одной из лучших бегуний в своей возрастной категории.
«Никогда не поздно начать заниматься спортом».
https://theidealist.ru/jrice/
#WP#человек#здоровье#спорт#старение