DHH · 2025-07-12 · source ↗ · whole document (12)
Доктрина Rails: девять принципов
Написаны в 2012-м. Почему записал:
> «If you want a community to endure, you have to record its values and you have to record its practices. If you don't, eventually you're gonna get enough new people come in who have their own ideas… We forget why Chesterton's Fence is there.» — [1:59:04](https://youtu.be/vagyIcmIGOQ?t=7144)
## 1. Оптимизируй счастье программиста
В честь Matz. Иногда это компромисс с производительностью — и всё равно да. Двусмысленность разрешена: `exit` и `quit` делают одно и то же, потому что люди наберут и то, и другое.
## 2. Конвенция вместо конфигурации
Родилась из Java-фреймворков с тысячами строк XML: как называть внешний ключ — `post_id`, `postId`, `PID`? Это не имеет значения. Надо просто выбрать.
> «I'm not just handing you a box of fucking Legos and asking you to build the Millennium Falcon. I'm giving you a finished toy.» — [2:02:43](https://youtu.be/vagyIcmIGOQ?t=7363)
Программисты любят коробку с конструктором — это и делает их программистами. Задача — направить этот инстинкт на решения, которые действительно важны.
## 3. Меню — omakase
Всё, что не так с экосистемой JavaScript: никто не отвечает за меню. Двадцать пять способов сделать контроллер, столько же — работать с базой, и все используют одно и то же не дольше пяти минут. «No retained wisdom. We build up no durable skills».