удалить или заменить дублированный код C ++ в одной функции в Linux

Я работаю на C ++ в Linux.

Мне нужно удалить дублированный код в двух функциях.

Одна функция предназначена для вычислений, а другая — для регистрации.

Есть некоторый код, который дублируется в logging (), что намного дольше, чем computing ().

Дублированный код распространяется в logging () отдельно, что означает, что они не просто копируются и вставляются из computing ().

Мне нужно построчно вычислять дублирующиеся детали, удалять их, а затем заменять необходимые результаты, передавая их в виде параметров из computing () в логирование.

Есть ли эффективные способы справиться с этим?

-2

Решение

Посмотрите на функции бок о бок, определите общие блоки кода, а затем разделите эти общие блоки на отдельные методы / функции.

3

Другие решения

Возможно, не стоит объединять их. Если вы действительно должны, хотя, возможно, одна общая функция с дополнительным bool do_logging параметр.

1