refactor Gnuplot::Plot
- Передаем
input_filesиinput_namesкак ссылки на константные вектора. Так мы избегаем копирования при вызове и в то же время гарантируем, что никак не будем изменять содержимое этих векторов в нашем методе. - Пишем assert, i в котором указываем ожидаемое свойство входных параметров.
- Используем ostringstream в качестве аккумулятра результата. Это немного более эффективно, чем оператор + у строк.
- Избавляемся от ручного loop peeling с дублированием кода. Если компилятор посчитает необходимым, он сам породит код аналогичный исходному.
- Меняем код в цикле так, чтобы не было необходимости изменять
input_filesиinput_names -
size = input_files.size()в цикле - микрооптимизация. Без неё методsizeбудет вызываться на каждой итерации. На самом деле, я думаю, что компилятор достаточно умный, чтобы самому до этого догадаться.
Ну и заодно покажу как отправлять код в gitlab на review, через merge requestы.