if (auto wi = someWi()) {
return wi->name();
}
return {};
}
QIcon tabIcon() const {
if (auto wi = someWi()) {
return wi->icon();
}
return {};
}
QString tabTooltip() const {
if (auto wi = someWi()) {
return wi->tooltip();
}
return {};
}
Код для каждого метода практически идентичный. В будущем, возможно, при добавлении функционала он снова будет дублироваться. Каким образом это можно переписать нормально?
МАКРОСЫ ! (на самом деле тут нечего переписывать, тут нет сдублированного кода)
Это ПОХОЖИЙ код, а не ИДЕНТИЧНЫЙ. Нет никакого дублирования.
Ну и да, тут ты мог бы эту структуру данных wi превратить в регуляризированную структуру -- массив вариантов. Тогда этого кода не было бы вообще.
Обсуждают сегодня