`

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

 
阅读更多

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

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

分享到:
评论

相关推荐

    python读书笔记

    在函数中可以使用 global 关键字来访问全局变量。 DocStrings ------------ DocStrings 是 Python 中的一种文档字符串。它可以用于函数、模块和类的文档。DocStrings 是一个多行字符串,首行以大写字母开始,句号...

    《Python编程金典》读书笔记

    ### 《Python编程金典》读书笔记知识点梳理 #### 1. 绪论 绪论部分通常会介绍Python的历史背景、特点以及为什么选择Python作为学习和使用的编程语言。此外,还会涉及Python与其他编程语言的区别,以及它在不同领域...

    由C到嵌入式C读书笔记(讲述)

    《由C到嵌入式C读书笔记》 C语言,作为一种强大的编程语言,是学习嵌入式系统开发的基础。在由C到嵌入式C的过程中,深入理解和掌握C语言的基本概念至关重要。 首先,C语言中的标识符是程序中用于唯一标识数据和...

    C++经典书籍的读书笔记

    这篇读书笔记主要涉及了C++编程中的一些关键概念和最佳实践,包括文件结构、防止头文件重复包含、文件搜索路径、内联函数、全局变量的避免、代码格式与可读性、以及编程规范等。 1. **防止头文件重复包含**:为防止...

    JavaScript_DOM_编程艺术读书笔记

    ### JavaScript DOM 编程艺术读书笔记关键知识点解析 #### 一、JavaScript简史与相关技术简介 - **XHTML(可扩展的超文本标记语言)**:这是一种更加严格、更加强大的HTML版本,旨在提高网页的可读性和可扩展性。 ...

    Windows程序设计读书笔记(合集)

    在VB6中,这种文件可以用来集中管理全局变量和常量,提高代码的可读性和可维护性。 3. **submain.bas**:可能是主函数模块,一般在VB6程序中,Sub Main是程序执行的起点,负责初始化和调用其他功能模块。 4. **...

    python59条代码编辑建议读书笔记

    10. **理解命名空间和作用域规则**:了解局部、全局和嵌套作用域,避免变量混淆和意外的名称覆盖。 11. **使用__slots__减少内存消耗**:在类定义中声明__slots__,可以限制实例的属性,减少内存占用。 12. **善用...

    JAVA核心2卷读书笔记

    从《Java 2 核心技术 卷 1:基础知识》的读书笔记中,我们可以提取出以下几个关键知识点: 1. **强类型语言**:Java要求所有变量在使用前必须声明其类型,这确保了程序的稳定性和类型安全。每个程序都必须包含至少...

    javascript 高级程序设计 读书笔记(3)

    在JavaScript中,我们可以使用IIFE(立即调用的函数表达式)来封装代码,防止全局变量污染,或者使用CommonJS(Node.js环境)或ES6的`import`和`export`语法实现模块导入导出。 例如,一个简单的模块化示例: ```...

    《C和指针》读书笔记.pdf

    - 未初始化的全局变量或静态变量在这个阶段获得默认值。 - 程序执行过程中使用运行时堆栈来管理函数的局部变量和返回地址。 - 程序结束时,通常是通过`main`函数的返回值来表示。 4. **特殊字符和转义序列**: ...

    js读书笔记以及知识要点

    6. **闭包**:闭包是一种特殊的函数,它可以访问其自身作用域、外部函数作用域以及全局作用域的变量,常用于封装私有变量和实现模块化。 7. **ES6及后续版本的新特性**:包括箭头函数、模板字符串、解构赋值、类...

    邵贝贝uCOS读书笔记

    2. **受保护的全局变量**:如果函数使用全局变量,那么必须采取措施(如互斥锁)来确保在某个任务访问全局变量时,其他任务不能同时访问,从而避免数据冲突。 ### 时间片轮转调度法 时间片轮转是一种调度策略,当...

    Tomcat学习笔记

    ### Tomcat学习笔记知识点解析 #### 一、Tomcat简介 Tomcat是一款开源的轻量级Servlet容器,它能够作为独立的应用服务器运行Java Web应用程序。Tomcat由Apache软件基金会(Apache Software Foundation)维护,是Java...

    面试笔试读书笔记.docx

    - 全局变量(成员变量)定义在类的范围内,作用于整个类。 - 局部变量在方法内定义,只在该方法内有效。 - `this`关键字引用当前对象实例,当成员变量和局部变量名称冲突时,使用`this`来访问成员变量。 6. **...

    C语言陷阱和缺陷与读书笔记word档

    C语言中的错误处理通常依赖于返回值和全局变量。忽视错误检查可能导致程序在遇到问题时崩溃或运行异常。良好的编程习惯应包括对函数返回值的检查,并适当地处理错误。 七、位运算 C语言提供了丰富的位运算符,如按...

Global site tag (gtag.js) - Google Analytics