🛠 Строгая проверка назначения атрибутов в F# 10
В F# 10 компилятор стал жёстко проверять, что атрибуты применяются только к тем конструкциям, для которых они предназначены. Это касается функций, значений, объединений, конструкторов, структур, классов и других элементов.
Раньше F# позволял неявно применять атрибуты к неподходящим целям без предупреждений. Из-за этого возникали баги, например:
• Тестовые атрибуты не работали, если функция не имела
• Атрибуты-анализаторы иногда игнорировались, приводя к сбоям в CI без очевидной причины.
Пример такого кода, который никак не работал:
Теперь компилятор выдаёт предупреждение при неверном применении атрибутов:
Атрибуты должны применяться только к совместимым элементам, например, к методам.
🔹 Алгоритмы и структуры данных
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека шарписта
#sharp_view
В F# 10 компилятор стал жёстко проверять, что атрибуты применяются только к тем конструкциям, для которых они предназначены. Это касается функций, значений, объединений, конструкторов, структур, классов и других элементов.
Раньше F# позволял неявно применять атрибуты к неподходящим целям без предупреждений. Из-за этого возникали баги, например:
• Тестовые атрибуты не работали, если функция не имела
(), и тесты не запускались• Атрибуты-анализаторы иногда игнорировались, приводя к сбоям в CI без очевидной причины.
Пример такого кода, который никак не работал:
[<Fact>]
let ``this is not a function`` = // никак не запускался тест
Assert.True(false)
Теперь компилятор выдаёт предупреждение при неверном применении атрибутов:
[<Fact>]
//^^^^ предупреждение FS0842: атрибут нельзя применять к свойству, полю и т.п.
let ``works correctly`` =
Assert.True(true)
Атрибуты должны применяться только к совместимым элементам, например, к методам.
🔹 Алгоритмы и структуры данных
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰2🌚2👍1
🛠 .NET MAUI и работа с возрастом
С началом 2026 года в США вступают в силу новые требования по верификации возраста пользователей для мобильных и десктопных приложений.
Да, это затрагивает несколько штатов в США, но стоит держать руку на пульсе.
.NET MAUI предоставляет удобный способ решения этой задачи с помощью единого интерфейса
• Для Android используется Google Play Age Signals API, который возвращает пять статусов в зависимости от ситуации: от подтверждённого возраста до ожидания одобрения опекуна.
• На iOS применяется Apple Declared Age Range API, работающий на устройствах с iOS 26 и выше, отображающий возрастной диапазон и информацию о том, кто его подтвердил — сам пользователь или опекун.
• Windows предлагает Windows Age Consent API с упрощённой классификацией пользователей на три категории: ребёнок, несовершеннолетний и взрослый.
Главное преимущество — единая точка интеграции и адаптация под каждый API за счёт условной компиляции и инъекции зависимостей. Достаточно подключить сервис в
➡️ Блог Microsoft
🔹 AI-агенты для DS-специалистов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека шарписта
#sharp_view
С началом 2026 года в США вступают в силу новые требования по верификации возраста пользователей для мобильных и десктопных приложений.
Да, это затрагивает несколько штатов в США, но стоит держать руку на пульсе.
.NET MAUI предоставляет удобный способ решения этой задачи с помощью единого интерфейса
IAgeSignalService и трёх платформо-специфичных реализаций:• Для Android используется Google Play Age Signals API, который возвращает пять статусов в зависимости от ситуации: от подтверждённого возраста до ожидания одобрения опекуна.
• На iOS применяется Apple Declared Age Range API, работающий на устройствах с iOS 26 и выше, отображающий возрастной диапазон и информацию о том, кто его подтвердил — сам пользователь или опекун.
• Windows предлагает Windows Age Consent API с упрощённой классификацией пользователей на три категории: ребёнок, несовершеннолетний и взрослый.
Главное преимущество — единая точка интеграции и адаптация под каждый API за счёт условной компиляции и инъекции зависимостей. Достаточно подключить сервис в
MauiProgram, чтобы обеспечить проверку возраста на нужной платформе.🔹 AI-агенты для DS-специалистов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4