Рубрика «проектирование» - 2

Эта статья является переводом материала «Immutable architecture».

В этом посте автор оригинала хотел бы показать общий подход к внедрению иммутабельности в кодовую базу на архитектурном уровне.

Иммутабельность, состояние и побочные эффекты

Прежде чем мы начнем, давайте определим термины. Скорее всего, вы уже сталкивались с ними.

Читать полностью »

Эта статья является переводом материала «What is functional programming?».

В этой статье Владимир Хориков попытается ответить на вопрос: что такое функциональное программирование?

Функциональное программирование

Итак, что такое функциональное программирование? Этот термин возникает довольно часто, и каждый автор, пишущий о нем, дает собственное объяснение. На взгляд автора оригинала, самым простым и в то же время точным определением является следующее: функциональное программирование - это программирование с математическими функциями.

Читать полностью »

Эта статья является переводом материала OCP vs YAGNI.

В этом посте хочется осветить тему OCP и YAGNI – противоречия между принципом открытости/закрытости и принципом «вам это не понадобится».

OCP

Давайте начнем с того, что вспомним, что такое OCP. Принцип открытости/закрытости гласит, что: Объекты программного обеспечения (классы, модули, функции и т.д.) должны быть открыты для расширения, но закрыты для модификации.

Впервые он был представлен Бертраном Мейером в его канонической книге «Читать полностью »

Впервые принципы SOLID были представлены в 2000 году в статье Design Principles and Design Patterns Роберта Мартина, также известного как Дядюшка Боб. 

С тех пор прошло два десятилетия. Возникает вопрос - релевантны ли эти принципы до сих пор? 

Перед вами перевод статьи Дядюшки Боба, опубликованной в октябре 2020 года, в которой он рассуждает об актуальности принципов SOLID для современной разработки.       

Недавно я получил письмо с примерно следующими соображениями:

Читать полностью »

GALILEO by Intel®. Честно взято тут (https://www.ema-eda.com/sites/ema/files/Constraint%20Management.zip)
GALILEO by Intel®. Честно взято тут (https://www.ema-eda.com/sites/ema/files/Constraint%20Management.zip)

Я пишу эту заметку с целью поделиться некоторым опытом, который, на мой взгляд, позволит упростить заинтересованному читателю последующие отладку и обслуживание разрабатываемого электронного изделия.

Читать полностью »

Рабочее место на 0,5 м2 - 1

С апреля работаю дома. Другие домашние тоже на удаленке. Жена и дети конечно сразу заняли лучшие места, а мне показали пальцем на балкон, который не утеплен, и еще сказали не мешаться.

Мыкался я мыкался я с ноутбукам по углам, потом еще системник привезли с работы, диктатора или компромиссника включать не стал (ну, что по очереди), вижу, итак им сложно и учиться и работать, и смирившись со своей участью пошел к балкону.

Читать полностью »

Маленькие задачи, а доверия ещё меньше - 1

Почему делегирование обязанностей лучше, чем распределение задач

Доверие — высочайшая форма мотивации. Оно выявляет в людях самое лучшее.

Стивен Р. Кови, «Семь навыков высокоэффективных людей»

По сути, сегодня это стало священной мантрой управления проектами: разделяй работу на как можно меньшие по размеру задачи. Оцените их со своей командой. А затем закиньте их во всезнающий бэклог продукта. Однако никто, похоже, критически не изучал влияние этого подхода на профессию проектировщика ПО. В 90-х годах, когда я начинал заниматься программированием, мы работали иначе. Осмелюсь сказать, что тогда всё было чуть более профессиональным.

В те времена твой начальник нёс ответственность ещё за десяток или того больше задач, поэтому когда тебя нанимали, он мог облегчённо вздохнуть.

«Наконец-то, у нас появился Винсент, я могу поручить ему заняться A и B; Тед будет делать C, D
и E, Джен займётся F, G и H, а я смогу добраться до I, J, K, L и M».

Самое важное здесь то, что A и B были крупными задачами, например, целыми продуктами или большими системными библиотеками. На их создание и поддержку уходило всё твоё время. Они были делегированной ответственностью, а не просто задачами. Было просто при этом и управлять людьми. Если ты не справляешься, то начальник тебе об этом скажет.
Читать полностью »

Читать полностью »

Объектно-ориентированный дизайн и как его использовать для проектирования систем - 1

С тех пор как интерфейсы программ, приложений и сайтов стали сложными, среди дизайнеров началось хаотичное деление на узкие специальности: появились системные и бизнес-аналитики, UX-дизайнеры, UI-дизайнеры, проектировщики и прототипировщики.

Читать полностью »

Всем доброго дня, в какой бы галактике вы ни находились.

После череды итераций прототип «космической» jrpg, разрабатываемый на Godot engine, дорос, наконец, до первой демоверсии. Доступны win64 и linux варианты. Ниже подробности о том, что было, что стало и куда летает маленький звездолёт.

Микрокосм, демоверсия - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js