Рубрика «solid»

Всем привет!

Недавно мне нужно было нанять людей в команду по созданию системы на Python, Java, Go. Для меня крайне важны соблюдения принципов SOLID, Чистой архитектуры, Чистого кода.

Я придумал задачу, которую спрашиваю на собеседованиях в свою команду. И мне хочется поделиться ею с вами.

Надеюсь, она будет вам полезна!

Задача

Для Go

Представь, у тебя есть структура, которая считает зарплату сотрудника: его KPI, премии и т. п., и создает PDF-отчет. Тебе нужно создать структуру для подсчета зарплаты и генерации отчета по менеджеру.
Читать полностью »

Когда я был разработчиком я задавался вопросами:

  • как разделить код на классы?

  • какие модули выделить?

Когда я стал архитектором я задавался вопросами:

  • зачем же мы наплодили 200 микросервисов?

  • стоит ли выделять новый или пора объединять?

Когда я стал руководителем я задавался вопросами:

  • как разделить людей на команды разработки?

  • стоит ли создавать новый отдел или расширить ответственность старого?

И всё это хотелось сделать оптимальным эффективным образом.

И я понял, что все эти вопросы сводятся к ряду Читать полностью »

Принцип единой ответственности SOLID в React - 1

Всем привет! Меня зовут Дмитрий, и я руководитель фронтенд-разработки в компании Интелси.

Сегодня хочу рассказать о принципе единственной ответственности (Single Responsibility Principle) — первом из пяти принципов SOLID, сформулированных Робертом Мартином в его книге Читать полностью »

Перед прочтением

Многие из нас слышали про лучшие практики в программировании (KISS, DRY, SOLID, паттерны и прочее). У начинавшего разработчика при их изучении встает немой вопрос «а зачем мне все это?». Ответом на вопрос может послужить знаменитая в узких кругах игра «Щи» и статья автора, рассказывающая о процессе разработки. Однако оригинальный пост уже давно утерян в просторах интернета.

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

SOLID, DRY, KISS, YAGNI и др. принципы разработки, пугающие новичка в IT - 1

Данная статья является более расширенной версией моей научной статьи, на примере разработанного ПО для спортсменов-биатлонистов c абстрактными примерами, соответствующих тематики.

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

Принципы подхода SOSAL

Принципы подхода SOSAL

Недавно я опубликовал статью, в которой представил новый социальный подход к программированию под названием SOSAL. Несмотря на её краткость, она сыскала большое количество внимания и конструктивной критики, что позволяет более подробно проработать подход.

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

В чем разница и когда что использовать? Это был один из вопросов, на которые я пытался получить ответ.

Попытаюсь тут описать ту практику, которую считаю не плохой. С примерами на PHP. Постараюсь описывать на простом языке - без использования сложной терминологии.

Лучше всего это два подхода понимаются в слоистой архитектуре(слой презентации, доменный, инфраструктура, приложение - те, которые на текущий момент я использую в итоговом примере).

DTO(Data Transfer Object)

DTO - это объект класса необходим для передачи структурированнойЧитать полностью »

SOSAL: Современный социальный подход к программированию - 1

В мире программирования существуют различные идеологии написания кода, которые отвечают за коммуникации (Unix-way), гибкость (Agile), чистоту и читаемость кода (DRY, KISS).

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

Сегодня во фронтенде многое кажется очевидным: интерфейс обновляется при изменении данных, код удобно разбивается на части, архитектура уже встроена в инструменты. Но раньше всё это приходилось писать вручную, и каждое решение рождалось из конкретной боли разработчиков.

Если разобраться, откуда взялись подходы, с фреймворками проще работать:

  • Понятно, что делает инструмент, а что нужно настраивать вручную.

  • Меньше ситуаций, когда поведение кажется неправильным, хотя всё работает по логике самого фреймворка.

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

Предисловие

Цель этой статьи — объединить и кратко изложить все базовые архитектурные подходы: их терминологию, концепции и отличительные черты. Собрать всё воедино, чтобы можно было относительно быстро вникнуть в основы.

Я решил написать серию статей, посвящённых различным аспектам проектирования программных систем, но первоначальной идеей было показать архитектурное решение моего pet-проекта на FastAPI — пример реализации «чистой архитектуры» с использованием современного стека: Python3.13, FastAPI, Uvicorn, Nginx, PostgreSQL, Alembic, Celery, Redis, Pytest, Filebeat, Logstash, Elasticsearch, Kibana, Prometheus, Grafana, Docker и Docker Compose.

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


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