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

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

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


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


     

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

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


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

目录
相关文章
|
4月前
|
存储 C# 开发者
C# 编程基础:注释、变量、常量、数据类型和自定义类型
C# 编程基础:注释、变量、常量、数据类型和自定义类型
|
5月前
|
JavaScript Java C++
定义和引用一堆数组
定义和引用一堆数组
33 1
|
5月前
|
存储 算法 C++
【C/C++ 关键字 存储类说明符】 深入理解C/C++中的static关键字:它的作用、限制和使用技巧
【C/C++ 关键字 存储类说明符】 深入理解C/C++中的static关键字:它的作用、限制和使用技巧
32 0
|
5月前
|
编译器 程序员 数据安全/隐私保护
C++类成员解析:编译器如何识别和处理声明与定义(C++ 类的作用域以及查找顺序)
C++类成员解析:编译器如何识别和处理声明与定义(C++ 类的作用域以及查找顺序)
52 0
|
5月前
|
C语言 C++ 开发者
C/C++陷阱——变量名和函数名的冲突问题
C/C++陷阱——变量名和函数名的冲突问题
|
C语言 C++
<c++> 类与对象 | 面向对象 | 访问说明符 | 类的声明 | 创建类
<c++> 类与对象 | 面向对象 | 访问说明符 | 类的声明 | 创建类
94 0
|
5月前
|
存储 算法 程序员
【新手解答7】深入探索 C 语言:代码缩进 + 变量作用域、静态变量 + 变量名和函数名重名
【新手解答7】深入探索 C 语言:代码缩进 + 变量作用域、静态变量 + 变量名和函数名重名
61 0
常量引用的概念
常量引用的概念
36 0
|
编译器 C语言 C++
【C++入门必备知识:缺省参数+函数重载+函数名修饰规则】
当调用该函数时,如何没有没有指定实参则采用改形参的默认值。
123 0
|
数据库
根据ABAP类方法的形式参数名,反查是哪个方法定义了该形式参数
根据ABAP类方法的形式参数名,反查是哪个方法定义了该形式参数
111 0
根据ABAP类方法的形式参数名,反查是哪个方法定义了该形式参数
下一篇
无影云桌面