代码大全_第3部分: 变量

本文深入探讨了在编程过程中有效管理和命名变量的重要性,提出了就近原则、变量作用域的合理控制、变量命名原则以及不同类型数据的高效利用策略,旨在提高代码的可读性和维护性。

第10章: 使用变量的一般事项

总结: 代码的可读性比可写性更加重要

就近原则: 当读代码时, 需要同时考虑的变量越少, 代码越容易看懂. 

  • 在靠近变量第一次使用的位置声明, 定义和初始化
  • 尽量缩小变量的作用域, 使用final/const 限制变量的变化可能
  • 尽量将相关代码放在一起
  • 为变量指定单一用途
尽量将一个事情(变量)的描述集中在一起, 这样:
  1. 容易理解
  2. 避免在中间被误修改
  3. 逻辑上也更为清晰
其他:
  • 避免让代码有隐含含义, 代码越简单越好, 远离各种奇技淫巧
  • 灵活性与复杂性: 越灵活往往也意味着越复杂, 需要取舍
  • 将所有变量都放在开始声明可能并不是一个好的做法, 应该将代码按逻辑分为若干小块, 在每一块的开头声明该块中需要用到的所有变量. 只有在多个块中用到的变量放在函数开头声明. 同时避免单个函数过长

第11章: 变量名的力量

变量命名原则:

  • 有意义: 宁可写一个长的有意义的名字, 也比短的无意义或有歧义的强
  • 长度: 一般10 ~ 16个字符为最佳, 2到3个单词
  • 尽量不用缩写: 有歧义, 易混淆
  • 最好的变量名包括: 变量内容, 变量类型, 作用域 通常在成员变量前加m_, 全局变量前加g_
  • 采用一套命名规则: 用什么样的规则不重要, 关键是要有规则
一些小的点:
  • 将修饰词(如Total, Sum)放在变量名的后面, 描述失误本质的词放在前面 例如carTotal, threadTotal 看起来比totalCar, totalThread更有区分度
  • 在复杂的代码中变量名最好有完整的含义, 如 currentData 好于current
第12章: 基本数据类型
原则性问题:
  • 避免magic number 或magic string, 使用具名常量
一些小的点:
  • 尽量避免隐式类型转换
  • 浮点数尽量避免两个相差很大的数相加减
  • 字符数组中可以将数组长度声明为字符串长度 + 1, 用来存放'\0'
  • 当一个判断条件非常复杂时, 可以用若干布尔变量来使程序更加清晰易懂
  • 如果用了具名常量或自定义类型(typedef), 就都使用
  • 给自定义类型起名时, 一般描述现实世界的名字(如Pageid)比描述计算机概念的名字(如BigInteger)更好
第13章: 不常见的数据类型
原则性问题:
  • 释放一个指针后显式地置NULL, 
  • 尽量不用全局变量, 如果有必要可以用一个访问器或单例

一些小的点:
  • 一般来说, 纯数据的事情可以用struct来表示, 而不是类. 例如给函数传参, 或描述数据关系
  • 每个指针包含两部分内容: 内存中的某个位置和如何解释该位置的内容
  • 避免连续使用指针, 用一个新的变量代替这种方式


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值