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

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

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


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

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

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


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


目录
相关文章
|
消息中间件 IDE JavaScript
用代码画时序图!YYDS
最近通过代码来看看这个图,给大家看图、UML ,感觉很给大家分享。 大家平时用他们出的图呢,是用什么样的图,都用画图来画的,我们用画图来画图 呢draw.io?processOn 今天给大家介绍一款想要的作品,用的画图,配合IDE使用PlantUML!
用代码画时序图!YYDS
|
10月前
|
分布式计算 Spark
【赵渝强老师】Spark的容错机制:检查点
Spark通过Checkpoint机制将RDD状态持久化到磁盘,以支持容错。当任务执行出错时,可以从检查点位置重新计算,减少开销。Checkpoint目录可设置为本地文件夹或HDFS。建议生产系统使用高可靠的文件系统保存检查点。文中详细介绍了在本地和HDFS上设置检查点目录的步骤,并附有代码示例和视频讲解。
277 7
|
Web App开发 安全 中间件
谷歌、火狐、Edge等浏览器如何使用ActiveX控件
allWebPlugin 是一款为用户提供安全、可靠且便捷的浏览器插件服务的中间件产品,支持 Chrome、Firefox、Edge 和 360 等浏览器。其 V2.0.0.20 版本支持一个页面加载多个插件,并解决了插件与浏览器之间的焦点问题。用户可通过“信息化系统 + allWebPlugin + 插件 + 浏览器”的解决方案实现 ActiveX 插件的无缝集成。下载地址见文末,安装包含详细说明。
3726 116
|
安全 Ubuntu Linux
linux|奇怪的知识---账号安全加固,ssh安全加固
linux|奇怪的知识---账号安全加固,ssh安全加固
1296 0
|
编译器 Linux 开发者
【cmake 交叉编译配置设置】CMAKE_TOOLCHAIN_FILE:跨平台编译的秘密武器
【cmake 交叉编译配置设置】CMAKE_TOOLCHAIN_FILE:跨平台编译的秘密武器
2114 0
|
缓存 前端开发 安全
究竟何为GET,何为POST?前端程序员的必修课
究竟何为GET,何为POST?前端程序员的必修课
189 0
|
存储 编解码 算法
YUV数据分析
对于人类视觉系统,为什么 YUV 比 RGB 跟容易压缩,YUV 是如何压缩的。YUV444,YUV422,YUV420 的存储格式。
546 0
|
JSON NoSQL MongoDB
MongoDB基本操作(一)——简介、基本操作、增删改查
MongoDB基本操作(一)——简介、基本操作、增删改查
650 0
|
算法
集合划分问题
集合划分问题
339 0
集合划分问题
|
IDE 安全 Java
C++中的接口设计准则
C++中的接口设计准则
1023 0

热门文章

最新文章