Pull to refresh

Comments 13

Могу добавить ещё один, навеянный статьей, паттерн lele (let to let). let a =0; to let b = a; Очень полезно, не один проект без этого не обходится. Прошу прощения за не форматированный код, пишу двумя мизинцами, руки жирные.
Пост интересный, почитал.
Что касается названий — вам не кажется, что называть передачу хеш-таблицы в качестве параметра — паттерном — немного перебор? Это не паттерн, а скорее некоторый tip, призванный облегчить понимание кода, синтаксический сахар — но никак не «паттерн»

Паттерны бывают не только архитектурные.


У Кента Бека, например, есть паттерны именования переменных. В книге "Smalltalk best practice patterns" он дает паттернам такое определение "A pattern is a decision an expert makes over and over."

UFO just landed and posted this here
Тесты привезли.
Судя по всему, оверхед на анбоксинг минимальный: тест у меня показывает разницу в пределах погрешности (0 — 10%). А ведь это синтетический тест, только и делающий, что разупаковку. В реальной типичной ситуации, полагаю, разницу будет невозможно заметить.
в Firefox 56 Roro даже получился быстрее



В Хроме чуть медленнее

Юзали это на предыдущем проекте. Чертовски удобно использовать объект в качестве аргумента, особенно на стыке модулей.
Обратите внимание на то, что при чтении кода роль последних двух аргументов в этом вызове совершенно непонятна. Что означают два значения true?

В IDE поставьте галку «показывать имена аргументов для констант»:



В остальном согласен, именованные параметры бывают удобны.

Минус в том, что это фича IDE. Так что, например, на каком-нибудь гитлабе при ревью аргументы будут непонятны.
Не во всех IDE есть подобная галка
Почему RORO, а не монада? Монада лишь на своём верхнем уровне не объединена в объект, но это вообще не вопрос. Можно представить более гибкий «Roro», передающий attributes.
UFO just landed and posted this here
Sign up to leave a comment.