bogdanov-d-a / oop_lab2

OOP lab 2
0 stars 0 forks source link

Замечания по ExpandTemplate #8

Open alexey-malov opened 9 years ago

alexey-malov commented 9 years ago

Я в задании забыл указать, поэтому сейчас дополняю: нужно код функции ExpandTemplate покрыть тестами

alexey-malov commented 9 years ago
size_t Min(size_t a, size_t b)
{
    return ((a <= b) ? a : b);
}

Use std::min, Luke

alexey-malov commented 9 years ago
const ReplaceDict::const_iterator maxKeyLengthIter = blablabla

Use auto, Luke

alexey-malov commented 9 years ago
ReplaceDict::const_iterator FindLongestPrefixInMapKeys(
    std::string const& src, Range const& srcRange, ReplaceDict const& map)
{
    for (size_t prefixLength = GetRangeLength(srcRange); prefixLength > 0; --prefixLength)
    {
        const ReplaceDict::const_iterator foundResult =
            map.find(src.substr(srcRange.start, prefixLength));

        if (foundResult != map.cend())
        {
            return foundResult;
        }
    }

    return map.cend();
}

Функция FindLongestPrefixInMapKeys вызывается часто и в ней каждый раз извлекается подстрока. Извлечение подстроки занимает порядка 50% всего времени работы ExpandTemplate Подумай, как можно программу доработать, чтобы сократить количество извлечений подстроки.

alexey-malov commented 9 years ago

За исполнение: 0,7 (главным образом претензия к отсутствию тестов), за срок 0,9