KOTLINMETA Telegram 126
🏝 Context Sensitive Resolution

Как вы, возможно, знаете, я против использования исключений для возврата бизнес-значений. Этот подход популярен в сообществе, и часто для сохранения подробностей об ошибке используют sealed-иерархии.

Фича, о которой я расскажу вам сегодня, не новая, но одна из моих любимых за последнее время. Она есть в других языках, но у нас она появилась относительно недавно, под экспериментальным флагом в Kotlin 2.2. Context Sensitive Resolution позволяет не писать полный путь до класса, если его можно понять из контекста. Пример этой фичи есть на картинке прикреплённой к посту. Полный список мест, где работает эта фича:

• Выражения внутри when
• При возврате после return
• Переменные, у которых объявлен тип
• Проверки на тип (as, is)
• Параметры функций

Казалось бы - у нас есть импорты, можно же просто импортнуть Success, но не всё так просто. Если мы имеем дело с несколькими типами, который называются Success, импортнуть их 2 раза не выйдет - будет конфлит импортов. А с этой фичей даже импорт не нужен. А бонусом идет более хорошая поддержка в IDE. Когда я делал аналоги DSL на Swift, я всегда кайфовал от того, как удобно там работает эта фича. Нет загрязнения неймспейса, но и много буков писать не надо. Все в плюсе!
Please open Telegram to view this post
VIEW IN TELEGRAM
9🍌22❤‍🔥1👍1



tgoop.com/kotlinmeta/126
Create:
Last Update:

🏝 Context Sensitive Resolution

Как вы, возможно, знаете, я против использования исключений для возврата бизнес-значений. Этот подход популярен в сообществе, и часто для сохранения подробностей об ошибке используют sealed-иерархии.

Фича, о которой я расскажу вам сегодня, не новая, но одна из моих любимых за последнее время. Она есть в других языках, но у нас она появилась относительно недавно, под экспериментальным флагом в Kotlin 2.2. Context Sensitive Resolution позволяет не писать полный путь до класса, если его можно понять из контекста. Пример этой фичи есть на картинке прикреплённой к посту. Полный список мест, где работает эта фича:

• Выражения внутри when
• При возврате после return
• Переменные, у которых объявлен тип
• Проверки на тип (as, is)
• Параметры функций

Казалось бы - у нас есть импорты, можно же просто импортнуть Success, но не всё так просто. Если мы имеем дело с несколькими типами, который называются Success, импортнуть их 2 раза не выйдет - будет конфлит импортов. А с этой фичей даже импорт не нужен. А бонусом идет более хорошая поддержка в IDE. Когда я делал аналоги DSL на Swift, я всегда кайфовал от того, как удобно там работает эта фича. Нет загрязнения неймспейса, но и много буков писать не надо. Все в плюсе!

BY Kotlin Meta




Share with your friend now:
tgoop.com/kotlinmeta/126

View MORE
Open in Telegram


Telegram News

Date: |

During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram. Unlimited number of subscribers per channel Content is editable within two days of publishing Deputy District Judge Peter Hui sentenced computer technician Ng Man-ho on Thursday, a month after the 27-year-old, who ran a Telegram group called SUCK Channel, was found guilty of seven charges of conspiring to incite others to commit illegal acts during the 2019 extradition bill protests and subsequent months.
from us


Telegram Kotlin Meta
FROM American