| 为什么 | 参数被改写后原值不可见、跟踪困难 |
|---|---|
| 做法 | 局部变量承接、参数视为只读 |
| 语言 | 多数风格指南明确禁止改写入参 |
Java 示例
Java 示例
// 之前
double discount(double inputVal) {
if (inputVal > 100) inputVal -= 10;
return inputVal;
}
// 之后
double discount(double inputVal) {
double result = inputVal;
if (result > 100) result -= 10;
return result;
}