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ы.