Примеры ошибок, обнаруженных с помощью диагностики V3053
V3053. An excessive expression. Examine the substrings "abc" and "abcd".
GitExtensions
V3053 An excessive expression. Examine the substrings 'notepad' and 'notepad++'. GitCommands GitModule.cs 691
public void EditNotes(string revision)
{
string editor = GetEffectivePathSetting("core.editor")
.ToLower();
if (editor.Contains("gitextensions") ||
editor.Contains("notepad") ||
editor.Contains("notepad++")) // <=
{
RunGitCmd("notes edit " + revision);
}
....
}
Orchard CMS
V3053 An excessive expression. Examine the substrings ' ' and ' \t'. ExtensionHarvester.cs 335
private static bool IsFeatureFieldDeclaration(string line) {
if (line.StartsWith("\t\t") ||
line.StartsWith("\t ") ||
line.StartsWith(" ") ||
line.StartsWith(" \t"))
return true;
return false;
}
SharpDevelop
V3053 An excessive expression. Examine the substrings '/debug' and '/debugport'. NDebugger.cs 287
public bool IsKernelDebuggerEnabled {
get {
....
if (systemStartOptions.Contains("/debug") ||
systemStartOptions.Contains("/crashdebug") ||
systemStartOptions.Contains("/debugport") ||
systemStartOptions.Contains("/baudrate")) {
return true;
}
....
}
}
PascalABC.NET
V3053 An excessive expression. Examine the substrings 'reduction' and 'reduction('. TreeConverter OpenMP.cs 267
private void ProcessClauses(string Text, ....)
{
....
if (....)
{
....
}
else if (AllowReduction &&
(Text.StartsWith("reduction") ||
Text.StartsWith("reduction(")))
{
....
}
....
}
Unity C# reference source code
V3053 An excessive expression. Examine the substrings 'UnityEngine.' and 'UnityEngine.SetupCoroutine'. StackTrace.cs 43
static bool IsSystemStacktraceType(object name)
{
string casted = (string)name;
return casted.StartsWith("UnityEditor.") ||
casted.StartsWith("UnityEngine.") ||
casted.StartsWith("System.") ||
casted.StartsWith("UnityScript.Lang.") ||
casted.StartsWith("Boo.Lang.") ||
casted.StartsWith("UnityEngine.SetupCoroutine");
}
Unity C# reference source code
V3053 An excessive expression. Examine the substrings 'Windows.dll' and 'Windows.'. AssemblyHelper.cs 84
static private bool CouldBelongToDotNetOrWindowsRuntime(string
assemblyPath)
{
return assemblyPath.IndexOf("mscorlib.dll") != -1 ||
assemblyPath.IndexOf("System.") != -1 ||
assemblyPath.IndexOf("Windows.dll") != -1 || // <=
assemblyPath.IndexOf("Microsoft.") != -1 ||
assemblyPath.IndexOf("Windows.") != -1 || // <=
assemblyPath.IndexOf("WinRTLegacy.dll") != -1 ||
assemblyPath.IndexOf("platform.dll") != -1;
}
Azure SDK for .NET
V3053 An excessive expression. Examine the substrings 'IList' and 'List'. PropertyData.cs 157
public class PropertyData
{
....
public bool IsTypeCollection => this.Type.Contains("IList") ||
this.Type.Contains("IEnumerable") ||
this.Type.Contains("List") || // <=
this.Type.Contains("IReadOnlyList"); // <=
}
Similar errors can be found in some other places:
- V3053 An excessive expression. Examine the substrings 'List' and 'IReadOnlyList'. PropertyData.cs 158