handbookНаписать

раздел · 4 тем

Языки ​

Идиомы и особенности языков. Тема здесь содержит реализацию только на своём языке, а в статье по абзацу о том, как то же решают остальные три.

Группы ​

  • php/ - PHP
  • go/ - Go
  • python/ - Python
  • ts/ - TypeScript

Темы ​

PHP ​

Go ​

Python ​

TypeScript ​

php/PHP

  • 01-readonly-and-enums/Readonly и перечисления в PHP Readonly classes and enumsСтатус заказа становится типом, а деньги - неизменяемым значением: опечатку в статусе и тихую правку суммы ловит язык, а не код-ревью.

go/Go

  • 01-errors-and-wrapping/Ошибки как значения в Go Errors and wrappingОшибка в Go - обычное значение, которое можно обернуть контекстом, проверить по смыслу и сложить с другими: так импорт прайса сообщает обо всех плохих строках сразу, а вызывающий код решает, что делать, без разбора текста.

python/Python

  • 01-protocols-vs-abc/Protocol и ABC в Python Protocols vs abstract base classesProtocol описывает, что нужно вызывающему коду, и принимает любой объект подходящей формы; ABC описывает, что обязаны уметь наследники, и делится с ними общим кодом. Хранилищам файлов нужны оба, но в разных местах.

ts/TypeScript

  • 01-discriminated-unions/Размеченные объединения в TypeScript Discriminated unionsОтвет платёжного шлюза описывается объединением вариантов с общим полем kind: компилятор сам сужает тип в каждой ветке, ловит забытый вариант через never, а ошибки разбора возвращаются как значение Result, а не летят исключением.
© 2014-2026 Тимур ТурдыевСайт и справочник работают на VPS от AdminVPS