C/C++单元测试理论精要(四)
题外篇:单元测试难于长期坚持的原因与解决探讨
上一篇《单元测试效益》,有网友评论说:“单元测试的好处基本人人知道,就是难坚持!”。这一评论严重提醒了我,不错,“难坚持”也是一个普遍现状。如果不能坚持,那一切都是白搭。因此,这里插入一个题外篇,探讨单元测试难于长期坚持的原因与解决,抛砖引玉,希望大家踊跃讨论,共同找出使单元测试易以坚持的途径。
我以前主要关注如何做得了、做得快、做得好,几乎没有单独考虑长期坚持的问题,原因大概是:对我自己来说,这不是问题,我已经做了十年的单元测试,这十年,我写代码时基本上都是一边写一边测试。那么,是什么原因让我长期进行单元测试呢?
这十年分为两个阶段,后六年专门研究单元测试技术与工具,前四年做一些外包项目。如果说因为单元测试已经成为我的专业,所以自己当然要做,那么,这也不能解释前四年之所以能坚持的原因。正是因为前四年的单元测试经历,才使我后来专注于单元测试领域。
回首十年的单元测试历程,我发现从来就没有刻意去坚持。我不是一个理性而有毅力的人,比较喜欢率性而为,能够十年不间断去做同一件事情,应该是因为,这其中有什么东西吸引了我,让我自然而然地想做而不是强迫自己去做。
一件事情,如果需要理性的力量,去勉强坚持,时间长了,热情会减退,惰性渐占上风,慢慢的可能就放弃了,例如健康的饮食习惯。有些事情,虽然从理性方面看未必好,但却容易使人沉溺其中不能自拔,例如玩网络游戏。为什么会这样呢?后者具有眼前的和感性的吸引力,形成了“诱惑”,自然让人喜欢做,长期做。眼前的感性的吸引力,往往能轻易打败后期的和理性的好处。
我想,正是因为单元测试的某些“眼前的和感性的吸引力”,形成了“诱惑”,使我乐于去做,而不是勉强去做。那么,是什么产生了“诱惑”呢?为什么单元测试没有形成普遍的“诱惑”呢?我做的单元测试和一般的单元测试有什么不同吗?
回想起来,不同确实是有的,从一开始,我使用的工具都是自己参与开发的。当时由于找不到满意的工具,所以自行开发,功能都是自己最需要的。
这个工具的第一个版本,主要功能是生成测试代码,修改一下就形成用例了。
&nbs
相关文档:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
int flag=0; // ......
CPU:s3c2410
OS:Linux Kernel 2.6.30.4
最近刚做完的嵌入式键盘的驱动,由于初次接触,总结一下。
首先简单说说这个键盘的实现原理,IIC总线工作原理没必要废话,s3c2410的手册中讲的很明白。硬件方面这个键盘通过一个AVR单片机(ATMEGA48)接在IIC总线上,也就是说,直接与IIC总线链接的设备并不是我们用的键盘,而是 ......
1) -/+: 这个称做scope, 如果在函数前面是- ,那么理解为一般的函数;如果是+, 可以理解为c++中的static函数
2) 函数的参数声明:
如果没有参数的话,在函数名后面,可以什么都不写;
如果只有一个参数,在 : 后面声明参数的类型和名称;
如果有多个参数的话,每个参数前面都要有一个 : , 然后接着是参数类型和参 ......
C没有类
这让人很疲惫
对象的说法很时髦
不就是继承封装组合人人会
右走是C++,这个大众都熟悉它
左走就是objective-c,躲在僻静僻静的麦金塔
本是同根生的C
如何高举面向对象的大旗
求同存异标新立异且听一一细分清
对象的C
是不同的C
类的处理与众不同重点要区分
不重复是我的口头禅
任何时候我只说一次告诉 ......
摘要:
在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关
__attribute__的相关使用。本文结合自己的学习经历,较为详细的介绍了__attribute__
相关语法及其使用。
---------------------------------------------------------
声明:
此文为原创,欢迎转载,转载请保留如下信息
& ......