代码大全-读书笔记(全局变量)

与全局数据有关的常见问题
1 无意间修改了全局数据
你可能会无意间在某处修改了一个全局变量的值,然后错误的认为它在其他位置还是保持不变的。
2 与全局数据有关的奇异的和令人激动的别名问题
两个或者更多不同的名字,说的是同一个变量。当一个全局变量被传递给一个子程序,
然后该子程序将它既用作全局变量又用作参数使用的情况下,就会出现这种情况。
3 全局数据阻碍代码重用
要把一个程序里的代码应用于另一个程序,你必须能够把它从第一个程序取出
然后拷贝到另一个程序中,如果有全局变量就复杂了。
4 全局变量破坏了模块化和智力上的可管理性
超过几百行代码的程序核心便是管理复杂度。NIIT能够在智力上管理一个大型程序
的唯一方法就是把它拆成几部分。全局数据使得你的模块化能力大大折扣。

使用全局数据的理由
1 保存全局数值 例如程序中的每一个子程序都用到的数据表
2 模拟具名常量
3 简化对极其常用的数据的使用
4 消除流浪数据
有时候你把数据传递给一个子程序或者类,仅仅是因为要把它传递给另一个子程序或者类,
例如你可能有一个在每个子程序都使用的错误对象。当调用链中间的子程序并不使用这一对象的时候,
这一对象就被称为流浪数据,使用全局变量可以消除流浪数据。

猜你喜欢

转载自cfj.iteye.com/blog/2298196