Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpAnDp 24 of 224 menu
◀ ▶

Пометка устаревания в Dart

Пометка @deprecated вешается на член программы - функцию, метод, класс или поле. В скобках можно передать строку для отчета анализатора. Сборка обычно проходит, но обращение к помеченному объявлению подсвечивается предупреждением.

На устаревший расчет скидки можно повесить явный текст и оставить новую функцию с тем же смыслом:

@deprecated('use computeRebate instead') int flatRebate(int price) { return price ~/ 10; } int computeRebate(int price) { return price ~/ 10; }

На другую устаревшую команду достаточно короткого сообщения без отдельных параметров уровня:

@deprecated('flat fee helper is obsolete') int wrapFee(int amount) { return amount + 2; } int packFee(int amount) { return amount + 2; }

Если в программе остается вызов устаревшей функции, анализатор предупреждает, но программа все равно запускается. Проверить это можно на простом вызове:

@deprecated('prefer trimTitle for new code') String legacyCaption(String raw) { return raw.trim(); } String trimTitle(String raw) { return raw.trim(); } void runSample() { String text = legacyCaption(' note '); print(text); }

Выполнение печатает строку без пробелов по краям, а рядом с вызовом остается предупреждение об устаревшем API. Смысл аннотации именно в такой обратной связи от анализатора, а не в отдельном шаге во время выполнения.

Пометьте функцию подсчета дней в поездке как устаревшую с текстом о замене на новую функцию с тем же смыслом. Оставьте один вызов старой функции и убедитесь, что анализатор выдает предупреждение.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить