Skip to content

Commit f9b7294

Browse files
committed
Optimize code
1 parent 2bdf69b commit f9b7294

File tree

1 file changed

+17
-34
lines changed

1 file changed

+17
-34
lines changed

Flow.Launcher.Infrastructure/StringMatcher.cs

Lines changed: 17 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -229,52 +229,35 @@ private bool IsAcronymCount(string stringToCompare, int compareStringIndex)
229229
if (IsAcronymChar(stringToCompare, compareStringIndex))
230230
return true;
231231

232-
if (char.IsNumber(stringToCompare[compareStringIndex]) || char.IsDigit(stringToCompare[compareStringIndex]))
233-
{
234-
return compareStringIndex switch
235-
{
236-
int i when i == 0 => true,
237-
int i when char.IsWhiteSpace(stringToCompare[i - 1]) => true,
238-
_ => false,
239-
};
240-
}
241-
242-
return false;
243-
}
232+
if (IsAcronymNumber(stringToCompare, compareStringIndex))
233+
return compareStringIndex == 0 || char.IsWhiteSpace(stringToCompare[compareStringIndex - 1]);
244234

245-
private bool IsAcronymChar(string stringToCompare, int compareStringIndex)
246-
{
247-
if (char.IsUpper(stringToCompare[compareStringIndex]) ||
248-
compareStringIndex == 0 || //0 index means char is the start of the compare string, which is an acronym
249-
compareStringIndex != 0 && char.IsWhiteSpace(stringToCompare[compareStringIndex - 1]))
250-
return true;
251235

252236
return false;
253237
}
254238

255-
private bool IsAcronymNumber(string stringToCompare, int compareStringIndex)
256-
{
257-
if (char.IsNumber(stringToCompare[compareStringIndex]) ||
258-
char.IsDigit(stringToCompare[compareStringIndex]))
259-
return true;
239+
private bool IsAcronymChar(string stringToCompare, int compareStringIndex)
240+
=> char.IsUpper(stringToCompare[compareStringIndex]) ||
241+
compareStringIndex == 0 || // 0 index means char is the start of the compare string, which is an acronym
242+
char.IsWhiteSpace(stringToCompare[compareStringIndex - 1]);
260243

261-
return false;
262-
}
244+
private bool IsAcronymNumber(string stringToCompare, int compareStringIndex) => stringToCompare[compareStringIndex] >= 0 && stringToCompare[compareStringIndex] <= 9;
263245

264246
// To get the index of the closest space which preceeds the first matching index
265247
private int CalculateClosestSpaceIndex(List<int> spaceIndices, int firstMatchIndex)
266248
{
267-
if (spaceIndices.Count == 0)
268-
{
269-
return -1;
270-
}
271-
else
249+
var closestSpaceIndex = -1;
250+
251+
// spaceIndices should be ordered asc
252+
foreach (var index in spaceIndices)
272253
{
273-
int? ind = spaceIndices.OrderBy(item => (firstMatchIndex - item))
274-
.FirstOrDefault(item => firstMatchIndex > item);
275-
int closestSpaceIndex = ind ?? -1;
276-
return closestSpaceIndex;
254+
if (index < firstMatchIndex)
255+
closestSpaceIndex = index;
256+
else
257+
break;
277258
}
259+
260+
return closestSpaceIndex;
278261
}
279262

280263
private static bool AllPreviousCharsMatched(int startIndexToVerify, int currentQuerySubstringCharacterIndex,

0 commit comments

Comments
 (0)