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

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

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

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

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

May 2026

S M T W T F S
     1 2
3456789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 2nd, 2026 08:55 pm
Powered by Dreamwidth Studios