Не используйте параметры метода в качестве рабочих переменных
При использовании входных параметров в вычислениях внутри метода зачастую первоначальное значение параметра меняется, отчего входным параметром его назвать неправомерно, ведь метод имеет побочные эффекты.
В С++ данную ситуацию можно предвосхитить, явно указав компилятору на это, использовав ключевое слово const, тогда изменение параметра внутри метода вызовет ошибку компиляции.
Более грамотным решением является использование локальной рабочей переменной, как workingVal в примере, которая будет содержать значение, которое мы хотим получить на выходе метода, при этом входной параметр остается неизменным. Метод без побочных эффектов намного проще отлаживать, а также расширять при необходимости. Старайтесь избегать побочных эффектов в методах.
#tips #clean_code