Igor Molchanov
73 subscribers
90 photos
4 videos
46 links
Для разговоров и обсуждений @molchanovia
Download Telegram
Augmentations (Not yet released) #dart_research
Это не анонсированный функционал, однако о нём есть дизайн-документация, а так же тесты!

Но если объяснить поверхностно:
- Основная цель - перегрузка и/или расширение классов, функций и так далее. Раньше для этого использовали миксины (в том числе и при кодогенерации). Использование аугментационных импортов позволяет сделать это более чище.
- Аугментировать можно неограниченное количество файлов в глубину, а значит структура перезагрузок больше напоминает дерево. В part связке вы не могли быть частью и корнем такого дерева одновременно.
- Планируется не только для реализации макросов, но и для пространства разработчиков: можно будет обьявить интерфейс класса в одном файле, а реализацию разбить на многоуровневую систему подфайлов.
- Not yet released, а значит всё ещё может поменяться!
Возвращаюсь к интересным новостям и обновлениям, произошедшим во время моего отсутствия. #dart_research

😐В Dart 3.6 вводят новую функцию digit separators, позволяющую использовать разделители цифр в виде нижних пробелов, что значительно улучшает читаемость больших чисел. Например, запись 1_000_000_000 становится более наглядной по сравнению с 1000000000.

👀 Планируется объединить функции "augmentations" и "part of" в единую концепцию "parts with imports". Новая функциональность позволит создавать иерархические деревья part файлов, импортировать необходимые зависимости на любом уровне, при этом сохранив обратную совместимость с "part of" использованиями из старых версий. Официальные спецификации вы можете найти тут.

🛌 Так же будем следить за новопринятой функцией wildcard patterns. Она позволяет опускать имена переменных, если они не используются, что не будет вызывать коллизий имен.

var _ = 1;
int _ = 2;

Foo(_, this._, super._, void _()) {}

🔥 А ещё мне нарисовали двух новых котиков на эмодзи!
Please open Telegram to view this post
VIEW IN TELEGRAM