让代码可复用与通用化:避免常见陷阱
1. 警惕全局状态
全局状态(或全局变量)是指在程序的给定实例内所有上下文之间共享的状态。以下是定义全局变量的一些常见方式:
- 在 Java 或 C# 等语言中,将变量标记为 static(这是本文伪代码中使用的范例)。
- 在 C++ 等语言中,定义文件级变量(在类或函数之外)。
- 在基于 JavaScript 的语言中,在全局 window 对象上定义属性。
以下代码展示了一个包含全局变量的类:
class MyClass {
private Int a = 3;
private static Int b = 4;
void setA(Int value) { a = value; }
Int getA() { return a; }
void setB(Int value) { b = value; }
Int getB() { return b; }
static Int getBStatically() { return b; }
}
在上述代码中:
- a 是一个实例变量。 MyClass 的每个实例都有自己独立的 a 变量,一个实例修改该变量不会影响其他实例。
- b 是一个静态变量(即全局变量),因此它在 MyClass 的所有实例之间共享,甚至可以在没有 MyC
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



