image.png

数据认知

略,没啥实质性内容。

轻松掌握变量定义

对隐式声明的态度:
image.png
如果你使用的语言支持隐式声明,该如何优化:

  • 关闭隐式声明。可以通过编译器来进行操作。——推荐。
  • 声明全部的变量。——推荐。
  • 遵循某种命名规则。——个人不建议,太啰嗦,不实用。
  • 检查变量名。使用编译器或第三方工具生成的交叉引用列表。——太繁琐,不实用。

    变量初始化原则

    变量初始化的原则:

  • 在声明变量的时候初始化。——实用

  • 在靠近变量第一次使用的位置初始化它。——实用
  • 理想情况下,在靠近第一次使用变量的位置声明和定义该变量。——实用
  • 在可能的情况下使用final或者const。——实用
  • 特别注意计数器和累加器。
  • 在类的构造函数里初始化该类的数据成员。
  • 检查是否需要重新初始化。
  • 一次性初始化具名常量:用可执行代码来初始化变量。——实用
  • 利用编译器的警告信息。
  • 检查输入参数的合法性。
  • 实用内存访问检查工具来检查错误的指针。
  • 在程序开始事初始化工作内存。

    作用域

    对作用域概念的描述。
    image.png
    使用作用域的一些原则:使变量引用局部化&尽可能缩短变量的存活时间。

    使变量引用局部化。

    Xnip2021-01-10_13-39-47.jpg

    尽可能缩短变量的存活时间。

    Xnip2021-01-10_13-41-24.jpeg
    总结:存活时间变短不仅可以减少出错的可能,还会使代码更具可读性。阅读者在同一时间内需要考虑的代码行数越少,也就越容易理解代码。
    Xnip2021-01-10_13-48-03.jpg

    减小作用域的一般原则

  • 在循环开始之前再去初始化循环里使用的变量,而不是在该循环所属的子程序的开始处初始化这些变量。

  • 知道变量即将被使用时再为其赋值。
  • 把相关语句放到一起。

Xnip2021-01-10_13-52-46.jpg
Xnip2021-01-10_13-53-08.jpg

  • 把相关语句组提取成单独的子程序。
  • 开始时采用最严格的可见性,然后根据需要扩展变量的作用域。

有关缩小变量作用域的说明

Xnip2021-01-10_13-56-24.jpg
Xnip2021-01-10_13-57-14.jpg

持续性

变量的“可持续性”本质就是变量“生命周期”的另一种说法,本章没啥收获。

绑定时间

什么是变量的“绑定时间”
image.png
image.png
image.png
image.png
通常,采用越晚的绑定时间会越有利。把绑定时间定义的越晚,你的代码里就包含了越多的灵活性,同时也会具备更多的可读性,但是会引入复杂性
Xnip2021-01-10_14-06-19.jpg

数据类型和控制结构之间的关系

略,没啥收获。

为变量指定单一用途

image.png
使用变量的原则:

  • 使每个变量只用于单一用途。

image.png

  • 避免让代码具有隐含含义。

image.png

核对表

Xnip2021-01-10_14-12-44.jpg
image.png

本章思维导图

第10章 使用变量的一般事项.png
原图:https://www.processon.com/view/link/5ffaab3e1e0853437c6fd682