Language agnostic 为什么软件对象的作用域最小?

Language agnostic 为什么软件对象的作用域最小?,language-agnostic,coding-style,scope,Language Agnostic,Coding Style,Scope,为什么保持对象的范围“最有限”是好的?有人建议我这样做,我也在Linden的书中读过,但我想不出一个例子,说明大范围可能是件坏事。如果要使用全局变量进行迭代,您可能只能在单个函数中使用它,因为如果该函数调用另一个也使用该变量进行循环的函数,则第二次使用将覆盖第一个循环值 检查代码时,类型声明或初始化将更接近使用对象的代码,从而更易于理解和维护 您可以在代码的较近段中重用对象名称,而不会产生冲突 较小的作用域允许尽快回收和重用与对象关联的内存或其他资源

为什么保持对象的范围“最有限”是好的?有人建议我这样做,我也在Linden的书中读过,但我想不出一个例子,说明大范围可能是件坏事。

如果要使用全局变量进行迭代,您可能只能在单个函数中使用它,因为如果该函数调用另一个也使用该变量进行循环的函数,则第二次使用将覆盖第一个循环值

检查代码时,类型声明或初始化将更接近使用对象的代码,从而更易于理解和维护

您可以在代码的较近段中重用对象名称,而不会产生冲突

较小的作用域允许尽快回收和重用与对象关联的内存或其他资源