Деды были правы: делай что-то одно и делай это хорошо#почитать▫️40 лет назад два идеолога, две легенды computer science Брайан Керниган и Роб Пайк опубликовали радикальный манифест… ну, или что-то вроде того. Сформулировали в книге Program Design in the UNIX Environment паттерн архитектуры ПО, за сохранение которого оба боролись долгие годы. Как и следовало ожидать от манифеста, в нём два этих канадских инженера максимально решительны.
▫️Самый резкий
тейк в статье — это запомнившаяся многим строчка из аннотации:
Старые программы покрываются коркой сомнительных фич. ▫️Суть статьи часто сводят к аббревиатуре DOTADIW, или «Do One Thing And Do It Well» («
Делай что-то одно и делай это хорошо»).
▫️К сожалению, как и в случае с большинством
манифестов, этот идеал не выдержал столкновения с реальностью. Прекрасная идея Кернигана и Пайка так никогда и не дала плодов.
▫️Керниган и Пайк были правы хотя бы в одном: что раздувание ПО является проблемой. Огромные приложения сложно изучать, трудно использовать и в них куча багов. Это и есть
гниение платформ. Крупных платформ - монолитных платформ.
▫️Попыткой
частичного решения DOTADIW стали микросервисы. Микросервисы должны «делать что-то одно и делать это хорошо».
▫️При разбиении сервисов на мелкие части мы получаем микросервисы, а при разбиении фронтендов — очевидно, микрофронтенды. Но на самом деле микрофронтенды являются ребрендингом старой идеи: апплетов.
▫️Простых ответов не существует, но повсюду можно найти подсказки. Чтобы подобрать идеальную структуру для сложного ПО, обратите внимание на структуры, пережившие миллиарды лет жесточайшей эволюции: атомы и молекулы, солнечные системы и галактики, наши собственные внутренние органы. Тракторы и камеры. Obsidian и VS Code. Все они созданы из маленьких однофункциональных блоков, как и задумывалось Керниганом и Пайком.
⏱
Читать статью