Статичний аналіз гімна не порадить
Aug. 25th, 2023 09:52 pmstd::string_view data;
std::string buffer;
if (some_condition)
{
buffer = some_call();
data = buffer;
}
else
{
data = "default";
}
some_action(data);
Якщо цей простий код показати статичним аналізаторам, то багато з них, якщо не всі, скажуть, що цей код смердить.
Чому? Звісно тому, що у buffer
занадто outer scope, it can be moved to the inner one.
Ну а потім, звичайно, join declaration and assignment.
І add const, щоб все по фен-шую було.
Про наслідки такого покращення здогадайтеся самі.