Expressions and statements
ES.25
Объявляйте объект `const` или `constexpr`, если не планируете изменять его значение в дальнейшем
Причина
Так вы не сможете изменить значение по ошибке. Это может открыть возможности для оптимизации компилятором.
Пример
void f(int n)
{
const int bufmax = 2 * n + 2; // хорошо: мы не можем случайно изменить bufmax
int xmax = n; // подозрительно: планируется ли изменение xmax?
// ...
}
Контроль
Проверяйте, действительно ли переменная изменяется, и отмечайте её, если нет. К сожалению, может быть невозможно определить, когда не-const переменная не предполагалась изменяемой (в отличие от случаев, когда она просто не изменялась).