Комментарии 14
А как ваш анализатор в сравнении в плане функционала со встроенным JetBrains анализатором в Rider IDE? Спасибо.
А вообще, лучше всего сравнить возможности, взяв и проверив свои проекты с помощью PVS-Studio.
1) Не самое красивое(для чтения) решение. Мне кажется удобнее или однострочный if\else, или присваивание значение по умолчанию для «value».
if (String.IsNullOrEmpty(value))
{
this.linker.s3.region = "us-east-1";
return;
}
this.linker.s3.region = value;
2) А нет ли тут ошибки? Возможно нужно было иначе?
IList conditionValues = keyEntry.Value;
if (conditionValues != null && conditionValues.Count == 0)
continue;
if (conditionValues == null || conditionValues.Count == 0)
Нет, так делать нельзя, нужно же кидать новые исключения, а не одно и то же каждый раз. Можно использовать Dictionary<string, Func<ErrorResponse, Exception, HttpStatusCode, Exception>>
, но я бы просто написал switch.
State19 — очевидно автогенерённый код лексера по грамматике, это мусорный варнинг. Автогенерённый код надо исключать из анализа.
Ну и варнинги про нереализованный хэшкод люди не сильно любят. По хорошему стоит выдавать его только если где-то в проекте этот объект действительно используется как ключ для хэша. А если нет, зачем парить мозги разработчикам, отвлекая от реальных проблем?
Например, чтобы хранить объекты в списках и искать/удалять там? Иногда линейный поиск вполне достаточен. Ну и в целом, чтобы иметь возможность сравнивать объекты. Иногда это нужно без хэш-таблиц. Если объект при этом ещё IComparable, его можно хранить в упорядоченных множествах без хэшкода.
В этот раз мы имеем дело с гораздо большим объёмом кода, включающим в себя около 34 тысяч cs-файлов, а общее число строк кода (без учета пустых) составляет впечатляющие 5 миллионов.
Какова причина этого? Индусам до сих пор платят за объем кода, или потому-что .NET настолько многословен? Недавно писал библиотеку для GDrive на основе нативного явавского HTTPConnection, вышло на лист где-то, ибо это же просто обвертка для HTTPConnection! А ведь Ява намного более многословна чем тот же .NET, любая библиотека — это же просто обвертка для API, то есть нужно получить контент в JSON, распарсить его какой-нибудь библиотекой (часто она из коробки идет), и сделать что надо с полученными данными, что еще-то? Или они там что, для CORBA что-ли писали (монструозный предшественник REST API)? Но я что-то не помню чтобы Amazon поддерживал Корбу, они вроде с самого начала в JSON все выдавали.
Ищем ошибки в исходном коде Amazon Web Services SDK для .NET