avva: (Default)
[personal profile] avva
Из хорошего блогпоста (по-английски) о системном дизайне, ключевой пассаж

"Распознавание хорошего дизайна

Как выглядит хороший системный дизайн? Я уже писал ранее, что он выглядит непритязательно. На практике он выглядит так, что ничего не ломается в течение долгого времени. Вы можете понять, что находитесь в присутствии хорошего дизайна, если у вас возникают мысли типа "хм, это оказалось проще, чем я ожидал" или "мне никогда не приходится думать об этой части системы, она работает нормально". Парадоксально, но хороший дизайн самоустраняется: плохой дизайн часто выглядит более впечатляюще, чем хороший. Я всегда отношусь с подозрением к впечатляюще выглядящим системам. Если в системе есть механизмы распределенного консенсуса, множество различных форм событийно-ориентированной коммуникации, CQRS и другие хитрые трюки, я задаюсь вопросом, не компенсируется ли какое-то фундаментальное плохое решение (или система просто откровенно переспроектирована).

Я часто остаюсь при этом мнении в одиночестве. Инженеры смотрят на сложные системы со множеством интересных частей и думают: "вау, здесь происходит много системного дизайна!" На самом деле, сложная система обычно отражает отсутствие хорошего дизайна. Я говорю "обычно", потому что иногда действительно нужны сложные системы. Я работал над многими системами, которые заслужили свою сложность. Однако сложная система, которая работает, всегда эволюционирует из простой системы, которая работает. Начинать с нуля со сложной системой — очень плохая идея."

Date: 2025-09-10 08:45 am (UTC)
amarao: (Default)
From: [personal profile] amarao
ты не можешь задаться вопросом "мне никогда не приходится думать об этой части системы, она работает нормально", потому что в хорошо работающей системе ты не знаешь о существовании этой части системы. Обычно о ней узнают когда она ломается. Если она не ломается, о ней не знают.

February 2026

S M T W T F S
1 2 3 4 5 67
8 9 10111213 14
15 16 17 18192021
2223 24 25262728

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 10:29 pm
Powered by Dreamwidth Studios