Строки или URI в API.NET?

Чтобы отловить исключения, генерируемые в тесте флаттера, используйте WidgetTester.takeException . Это возвращает последнее исключение, пойманное фреймворком.

await tester.tap(find.byIcon(Icons.send));
expect(tester.takeException(), isInstanceOf());

Вам также не нужен throwsA сопоставитель, так как он не выбрасывается из метода.

11
задан Domenic 18 October 2008 в 09:13
поделиться

3 ответа

Ниже кавычки от: Дизайн Платформы Guildelines
Я настоятельно рекомендую эту книгу любому разрабатывающему платформы на .NET

Действительно используйте Систему. Uri для представления URI / данные URL.
(Для Параметров, свойств и возвращаемых значений)

Система. Uri является намного более безопасным и более богатым способом представить URIs. Обширное управление связанными с URI данными с помощью простых строк, как показывали, вызвало многих проблемы правильности и безопасность.

Рассмотрите обеспечение основанных на операция со строками перегрузок для обычно используемых участников с Системой. Параметры uri.

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

Автоматически не перегружайте всех Основанных на uri участников с версией, которая принимает строку.

Обычно Основанные на uri API предпочтены. Основанные на операция со строками перегрузки предназначены, чтобы быть помощниками для наиболее распространенных сценариев. Поэтому Вы не должны автоматически обеспечивать основанные на операция со строками перегрузки для всех вариантов Основанных на uri участников. Будьте выборочными и предоставьте таким помощникам только для обычно используемых вариантов.

РЕДАКТИРОВАНИЕ (на комментарии): книга конкретно указывает: "Обширное управление связанными с URI данными с помощью простых строк, как показывали, вызвало многих безопасность и проблемы правильности". Я не уверен, какое дополнительное выравнивание Вы хотите для использования Системы. Uri / UriBuilder. Кроме того, почему Вы не хотели бы использовать в своих интересах платформу для читения/управления URI?

При разработке API, который будет использоваться другими, важно сделать их доступными, а также надежными. Поэтому книга действительно упоминает, необходимо обеспечить "хорошие" перегрузки для общей функциональности. Однако для обеспечения правильности необходимо всегда реализовывать базовый код с URIs.

Можно ли разъяснить Ваш, хочет или рассуждает для использования только строк?

17
ответ дан 3 December 2019 в 06:48
поделиться

Я сказал бы, что необходимо представить его как URI. Однако, если я - пользователь Вашего API, и я должен непрерывно преобразовывать основанные на строке URL в URI для использования API, затем я был бы очень раздосадованным пользователем.

То, что я говорю, - то, что необходимо оценить, какая аудитория будет использовать API.

1
ответ дан 3 December 2019 в 06:48
поделиться

Одна вещь, которую я нашел, была этим при записи string- принимая методы, я должен был бы всегда инициализировать a Uri возразите так или иначе только для проверки строки, такой что UriFormatException затем распространил бы из метода, если бы пользователь передал плохую строку. Но если Вы принимаете Uris только, как я сделал, вопясь в (законно) FxCop, затем Вы всегда знаете, что Ваш вход является допустимым---, чтобы мне походит на очень хороший знак, что Вы разрабатываете свой API правильно.

0
ответ дан 3 December 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: