编码基本功:类成员要加前缀,这样可以避免同名变量

简介: 编码基本功:类成员要加前缀,这样可以避免同名变量

 昨日改了代码进行测试,发现宽度不对。难道是我代码错了?于是把开关关掉,使用老代码,还是不对。怎么办?回滚吧。为什么吾对测试工作极度不满?这就是例子。


   运气不错,通过二分法定位,发现是一个多月前代码有问题。吾当时就奇怪了:吾这一段时间是清理垃圾代码、注释,怎么也出错了?出错代码如下:

        float width = obj != null ? obj.getWidth() : 0;
        width += this.width;

 当时提供width定义了未使用,吾就将第一句删除。没注意第二句没出错!第二句为什么没出错?直接赋值给了类成员!所以教训是:不要定义与类成员相同的变量。


   有人说了,可是这种变量是常见的名啊。没错,问题出在类成员上,类成员应该加个前缀,比如mWidth。如果变量也这样命名,显然是故意出错的。


目录
相关文章
|
算法
初探PID—速度闭环控制
本文简单介绍了什么是PID,PID的作用,给出了PID实现程序。
424 0
QT软件开发: QPlainTextEdit当做日志显示窗口
QT软件开发: QPlainTextEdit当做日志显示窗口
964 0
QT软件开发: QPlainTextEdit当做日志显示窗口
|
Ubuntu Linux
ubuntu下使用notepad
ubuntu下使用notepad
876 0
|
消息中间件 IDE JavaScript
用代码画时序图!YYDS
最近通过代码来看看这个图,给大家看图、UML ,感觉很给大家分享。 大家平时用他们出的图呢,是用什么样的图,都用画图来画的,我们用画图来画图 呢draw.io?processOn 今天给大家介绍一款想要的作品,用的画图,配合IDE使用PlantUML!
用代码画时序图!YYDS
关于 QtCreator中写Qt程序遇到printf不输出问题 的解决方法
关于 QtCreator中写Qt程序遇到printf不输出问题 的解决方法
|
8月前
|
分布式计算 Spark
【赵渝强老师】Spark的容错机制:检查点
Spark通过Checkpoint机制将RDD状态持久化到磁盘,以支持容错。当任务执行出错时,可以从检查点位置重新计算,减少开销。Checkpoint目录可设置为本地文件夹或HDFS。建议生产系统使用高可靠的文件系统保存检查点。文中详细介绍了在本地和HDFS上设置检查点目录的步骤,并附有代码示例和视频讲解。
160 7
|
C++ 索引
C++数组、vector求最大值最小值及其下标
C++数组、vector求最大值最小值及其下标
523 0
|
存储 监控 编译器
【C++】static关键字及其修饰的静态成员变量/函数详解
【C++】static关键字及其修饰的静态成员变量/函数详解
370 3
|
存储 C语言 芯片
C/C++ stm32基础知识超详细讲解(系统性学习day14)
C/C++ stm32基础知识超详细讲解(系统性学习day14)
|
Linux 数据安全/隐私保护
进程间通信之共享内存及其shm函数的使用【Linux】
进程间通信之共享内存及其shm函数的使用【Linux】
705 2