В параметрах «Статическая проверка» для кодовых контрактов есть опция с именем «Будьте оптимисты по внешнему API». Я не могу найти документацию о том, что делает этот вариант. Как это влияет на поведение анализатора?Что делает опция «Оптимистичный внешний интерфейс»?
ответ
Документация об этой опции действительно отсутствует. Просмотр источника дает несколько подсказок. В Options.cs
это ссылки на булеву lowScoreForExternal
:
[OptionDescription("Be optimistic on external API?
We will assign proof obligations depending on that a low score")]
[DoNotHashInCache]
public bool lowScoreForExternal = true;
Где в WarningScoresManager
это используется во время инициализации, чтобы установить счет, назначенный для дополнительной информации во внешней сборке. При включенной опции такая же оценка применяется, если ссылается на другую сборку, которая применяется для сборки фреймворка, в противном случае применяется очень высокий штраф.
private void InitializeDefaultValuesForContextsOfCalleeAssumeCanDischarge
(bool lowScoreForExternalAPI)
{
// ...
ScoreCalleeAssumeExtraInfoDeclaredInAFrameworkAssembly = .05;
ScoreCalleeAssumeExtraInfoDeclaredInADifferentAssembly = lowScoreForExternalAPI ?
ScoreCalleeAssumeExtraInfoDeclaredInAFrameworkAssembly : 100.0;
Казалось бы, что с помощью этого параметра заставляет анализатор предположить подобный уровень доверия о качестве кода внешних сборок, какими обеспечиваются каркасными узлы.
Это, по-видимому, единственное использование этой переменной - оно передается в конструктор WarningScoresManager
и больше нигде не используется.
- 1. Что делает опция clang -cc1?
- 2. Что делает опция sed -i?
- 3. Что делает опция tsconfig «lib»?
- 4. Что делает чистая опция сервера
- 5. Что делает опция «nocomma» JSHint?
- 6. Что делает кнопка/опция обновления?
- 7. Что делает опция CLite SQLite3?
- 8. Что делает опция «Inject ComEmuHK» для ConEmu?
- 9. Что делает опция `--fresh` в Brew?
- 10. Что делает опция «compiler option» -auxbase-strip?
- 11. Что делает опция платформы в Sentry?
- 12. Что делает опция -fheinous-gnu-extensions?
- 13. Что делает опция «Целая страница» в SSRS?
- 14. -опция в команде `cp` - что она делает?
- 15. Что делает автономная опция «-» в Linux/tar?
- 16. Что делает опция -template в команде «rails»?
- 17. Что делает опция proxy_pass в конфигурации NGINX?
- 18. Что делает опция -lm в g ++?
- 19. Указывает, что внешний ключ делает его индексом?
- 20. Что делает сопоставимый интерфейс в классе Collections?
- 21. Что такое оптимистичный замок в JPA?
- 22. что `оптимистичный updates` в развитии фронтального
- 23. Внешний интерфейс недоступен
- 24. Что делает опция `cc`` -ldl` в следующей команде?
- 25. Кто-нибудь знает, что делает опция «-FC» в gcc g ++?
- 26. Что делает опция уменьшенной палитры в Eclipse пользователю
- 27. Что делает опция «Разработчик» в приложении настроек iOS?
- 28. Что делает контекст: опция «запрос» при использовании мангуста?
- 29. Что делает опция '-O' в команде 'curl' для git bash?
- 30. Что делает (118) Извлечь объект Опция в утилиту ckdemo do