TGViewer
DON'T STOP AND CODE DON'T STOP AND CODE @start_py · 100 subscribers
Post #649 223
[Важное дополнение. Ослабление предусловий]

Одни пропагандируют и рекомендуют "ослаблять предусловия и усиливать постусловия" (закон Постело), другие с таким же успехом критикуют и пишут что так делать нельзя.

1) "Марсианские наушники" Джоэла Спольски (2008) (перевод на habr)

На мой взгляд это не прямая критика, а иллюстрация системной проблемы. Спольски показывает, что когда в экосистеме "многие-ко-многим" (много разработчиков браузеров и много сайтов) все следуют принципу "будь либерален в том, что принимаешь", но интерпретируют его по-разному из-за неточных спецификаций, это приводит к хаосу. Стандартом де-факто становятся баги и хаки самого популярного участника (в статье - IE6), что тормозит развитие всей сети. Это критика бесконтрольного применения закона.

Обращаю внимание на год статьи и на уточнение модели "многие-ко-многим".

2) Майкл Т. Нигард, "Release It!" (2007)

Нигард утверждает, что попытки быть "либеральным" и обработать любые ошибочные данные часто приводят к тому, что система переходит в некорректное или деградировавшее состояние, а потом падает в гораздо более сложном для диагностики месте. Гораздо надёжнее быстро и явно отказать при первом же нарушении контракта (например, при получении невалидного сообщения), чем пытаться его "понять и починить". Это повышает наблюдаемость и упрощает восстановление.

3) Статья "The Harmful Consequences of the Postel Prescription" (Вредные последствия предписания Постела)

Это прямая критика. Автор утверждает, что принцип Постела был ошибочным с самого начала для протоколов, где есть несколько независимых реализаций (тот самый "рынок многие-ко-многим").

Что в итоге?
Прочитав критику, хочется подумать что это очередная тема для холивара. Но данная критика однозначно достойна внимания. И помнить об этом точно нужно.
  • 👀 4
  • 👍 2
More from @start_py
  1. Sep 25, 2026[Скорость моделей] Стал обращать исключительное внимание в работе на скорость ответа ии-мо…
  2. Aug 16, 2026[Санкции] Failed to load URL https://www.nvidia.com/ru-ru/geforce/billboards/displaydriver…
  3. Jul 29, 2026[Будни вайбкодера. Или как ИИ не мог выключить проверку SSL] Сейчас была очередная забавна…
  4. Jul 20, 2026[Про впн, прокси и первый опыт с живыми пользователями] Этой весной, когда начались массов…
  5. Jul 7, 2026Наше время ограничено. "На экзистенциальном уровне :) у нас не так уж и много времени на э…
  6. Jul 2, 2026"если вам нужно прочитать исходный код функции, чтобы понять, что она делает (в частности,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →