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

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

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

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

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

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

  1. java未知对象调用其某个方法_引用一个类的属性或调用其方法,必须以这个类的对象为前缀。...

    [多选题]根据<建设工程项目管理规范>(GB/T50326-20 17 )施工项目经理应履行的职责有( ) [判断题]数组作参数被使用时,数组名后必须加方括号 [判断题]方法中最多能有一个 ...

  2. Kotlin入门(13)类成员的众生相

    上一篇文章介绍了类的简单定义及其构造方式,当时为了方便观察演示结果,在示例代码的构造函数中直接调用toast提示方法,但实际开发是不能这么干的.合理的做法是外部访问类的成员属性或者成员方法,从而获得处 ...

  3. python类实例化 输入参数名字 下划线_Python 用下划线作为变量前缀和后缀指定特殊变量...

    原:http://blog.163.com/jackylau_v/blog/static/175754040201182113817834/ 转过来方便查阅=w= Python 用下划线作为变量前缀和 ...

  4. c语言callback函数用法,C函数回调(callback)C++类成员函数的方法

    问题的由来 C回调的步骤一般是: 声明callback函数类型: 根据类型定义一个callback函数A: 把定义的函数A,作为参数传入到另外一个函数B: 函数B会在某个时刻,调用A. 因为C里面函数 ...

  5. 从零开始学C++之IO流类库(四):输出流格式化(以操纵子方式格式化,以ios类成员函数方式格式化)

    一.以操纵子方式格式化 数据输入输出的格式控制使用系统头文件<iomanip>中提供的操纵符.把它们作为插入操作符<<的输出对象即可.如setiosflags.setw.set ...

  6. C#基础-类成员(Day7)

    C#基础已经学了七天了,随着知识点的深化,脑子里开始混乱了,总觉得好像会但实际又不会,我想这也许就是人的大脑记忆的缺陷,今天学着用画知识体系结构的方法来巩固这七天来所学的知识,发现还是挺有用的,继续坚 ...

  7. python 私有和保护成员变量如何实现?—— 单下划线 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量; 双下划线 开始的是私有成员,意思是只有类对象自己能访问...

    默认情况下,Python中的成员函数和成员变量都是公开的(public),在python中没有类似public,private等关键词来修饰成员函数和成员变量. 在python中定义私有变量只需要在变 ...

  8. 类成员函数指针的语法

    /*类成员函数指针的语法*/ /*****************************类.h文件************************************/ #if !defined ...

  9. 第20条:为私有方法名加前缀

    本条要点:(作者总结) 给私有方法的名称加上前缀,这样可以很容易地将其同公共方法区分开. 不要单用一个下划线做私有方法的前缀,因为这样做法是预留给苹果公司用的. 一个类所做的事情通常都要比从外面看到的 ...

  10. 如何让API回调你的VC类成员函数而不是静态函数

    首先需要包含一个由yzwykkldczsh同志编写的模板类-----万能多用自适应无限制回调模板(为纪念友人fishskin,此模板又称为H>W模板) /******************** ...

最新文章

  1. AI in RTC 创新挑战赛,决赛打响
  2. vim 代码注释插件
  3. 智能提示和那些值得崇拜的人
  4. 循环队列的java结构_java数据结构之循环队列(数组实现)
  5. 抖音、微信读书都被诉侵权,法院这样判,但两者回应却不一样?
  6. 精致的App登录页设计欣赏给你灵感
  7. 公司没有与员工签订劳动合同,也没有给员工购买社保,现在员工被公司解雇,该如何要求赔偿?
  8. linux如何获取raw中的文件路径,如何使用Linux获得Touchscreen Rawdata的坐标
  9. 深入了解JavaScript目录(持续更新)
  10. Qt5 QtQuick系列----QtQuick的Secne Graph剖析(1)
  11. 西南科技大学OJ题 约瑟夫问题的实现0956
  12. ArcMap制作城市道路网壁纸(OSM道路数据下载)
  13. 【IDE工具】win10电脑设置保护眼睛色
  14. Unity富文本详解
  15. [代码记录生活]Name evn is not bound in this Context 解决方案
  16. [No000019A]【波浪理论精典教学课程】
  17. 华为服务器默认用户名和密码怎么修改,服务器默认用户名和密码
  18. 瓶子机器人diy制作大全_塑料瓶回收改造成电动机器人玩具
  19. 让思想在四维世界自由穿梭评《 时空投影:第四维在科学和现代艺术中的表达》...
  20. 计算机二级C语言编程题解读:计算学生成绩的标准差

热门文章

  1. 面积积分_新市民随迁子女积分入学指标调整 房产建筑面积每平方米积1分
  2. android jni示例,Android Jni代码示例讲解
  3. 合肥工业大学计算机学院王院长,合肥工业大学计算机与信息学院硕士研究生导师介绍:唐益明...
  4. group by很多字段是不是会很慢_数据量很大,分页查询很慢,推荐个优化方案!...
  5. linux awk '{print $2}' 用法
  6. jquery 多个class操作
  7. 高效编程之hashmap你不看就会忘记的知识点
  8. ARouter解析笔记
  9. 七十三、分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect传递参数...
  10. HTTPS为什么更安全,先看这些 , 网络加密 , 加密解密