- 博客(21)
- 资源 (1)
- 收藏
- 关注
转载 测试人员的思想理念和工作方法
软件测试的前提假设测试人员进行软件测试的基本假设是“有罪推断” ,即认为被测程序一定是有bug的,而且每个功能点的实现都存在bug,而且一定存在严重的bug。 请牢记这个假设 ,一旦在日后的工作过程中产生了这样的认识:“这个功能很简单,肯定不会出现问题,就不再测试了。”或者“这个功能上一轮刚测试过,当时就没有问题,这一轮应该也不会有问题,就不用测试了。”等等诸如此类的意识,那么 你就有90%的
2012-02-03 11:14:54 808
原创 Refactoring notes 20120106
第八章 重新组织数据Self Encapsulate Field:自封装字段。对于一个字段,如果对其直接进行引用,则耦合关系会渐渐的变得太紧。可以为其建立一个get和一个set函数(C#中则是get和set属性),这种方式看上去好像是多此一举,但是有一点,那就是在子类里面可以复写来改变获取数据的途径。(不过怎么感觉好像用处不是很大啊)。Replace Data Value with
2012-01-06 13:43:26 222
原创 Refactoring notes 20120105
《重构:改善既有代码的设计》阅读随笔之前很长时间就听说了重构这个词。有一次baidu面试官还问过我,大致回答就是通过现有的代码组织出一个更好的结构,使以后的开发思路更清晰容易。然后问我重写和重构,当时没听说过重写,以为是override,就把c#里面的override说了一遍,后来才发现丢人了。哈哈。书是师兄推荐给我的,前一阵发现图书馆里面还真有这本书就借来了,好不容易有了
2012-01-05 11:00:22 272
原创 Ajax notes20120102
Ajax notes:对象如navigator.appName属性方法的检测。方法无括号user_agent字符串检测方法:navigator中有一个属性是userAgent,内容如版本号 系统 语言 安全性 等细节。用navigator.userAgent.indexOf("MSIE 5.")>-1来判断浏览器信息 XMLHttpRequest对象:扮
2012-01-02 15:54:52 221
转载 装饰模式testing0927.cpp
// 装饰模式testing0927.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;class Base{public:virtua
2011-10-09 14:00:10 191
转载 工厂模式testing0927.cpp
// 工厂模式testing0927.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;///产品接口和产品类class Product{pub
2011-10-09 13:59:41 208
转载 策略模式testing1002.cpp
// 策略模式testing1002.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;class Strategy{public:virtua
2011-10-09 13:59:15 234
转载 StackWithMinTesting1007.cpp
// StackWithMinTesting1007.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include#includeusing namespace std;
2011-10-09 13:58:40 200
转载 MergeSortTesting1004.cpp
// MergeSortTesting1004.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;void MergeSort(int ptrarray[]
2011-10-09 13:58:05 199
转载 InsertSortTesting1004.cpp
// InsertSortTesting1004.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;int* insertsort(int * ptr,in
2011-10-09 13:57:37 194
转载 HeapSort.cpp
// HeapSort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;void Heapify(int* A,int i,int size);voi
2011-10-09 13:56:46 195
转载 BinarySeachTesting1006.cpp
// BinarySeachTesting1006.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #includeusing namespace std;int * BinarySeac
2011-10-09 13:55:44 192
原创 EffictiveC++用对象管理资源
若动态的申请一个资源,而后应删除之,但并不能保证二者期间不出现return或者异常,而根本不经过delete。所以总是依靠delete删除申请的资源是不靠谱的。解决方法:C++中有一个auto_ptr,用它装载所申请的对象资源可以解决这个问题std::auto_ptr
2011-09-23 15:42:23 253
原创 EffictiveC++别让异常逃离析构函数
异常在析构函数中产生之后,可能会转到其他地方,析构函数没有执行完。解决方法1:出现异常 直接abort()跳出。解决方法2:出现异常之后,把异常记录下来。忽略后继续执行。P47代码的转移指责这部分每太明白
2011-09-22 14:27:33 252
原创 EffictiveC++为多态基类声明virtual析构函数
假设有一个基类是车,子类分别为卡车、出租车、自行车。当我们用工厂产生一个子类,并返回一个基类的指针指向它。Car* pCar=createCar();然后在用完的时候删除delete pCar;问题是:pCar是一个基类类型的指针,编译器把它指向的对象当作一个
2011-09-22 13:11:02 309
原创 EffictiveC++屏蔽编译器自动生成的函数
如果想禁止编译器生成的函数的功能,那么就自定义一个空的函数将其覆盖。所有的编译器生成的函数都是public的,这样的话任何用户都可以使用。因此可以将不想被使用的编译器生成的函数生命为private。但是友元和成员函数还是都可以调用他们。解决的办法就是声明,但是不实现,
2011-09-22 12:33:56 243
原创 EffictiveC++之了解c++默认编写并调用那些函数
若一个类没有人为的编写,那么编译器将会自动生成:一个默认的构造函数myclass(){}一个默认的拷贝构造函数myclass(const myclass& rhs){}一个默认的析构函数~myclass(){}一个默认的拷贝复制函数myclass& operato
2011-09-22 11:45:24 312
原创 EffictiveC++之确定对象在使用前被初始化
如题 基本类型要手动的初始化,而成员数据则交给构造函数,它的任务是确保每一个成员的初始化。初始化并不是在构造函数体之内进行,而是在进入函数体之前。int f(int a,int b):a(1),b(2){。。。}以上的初始化行为比在函数体内进行复制的效率更高些,因为构
2011-09-21 14:24:39 225
原创 EffictiveC++之尽可能用const
如果一个对象是不应该被改变的,那么你就应该使用const对其限定。他可以修饰class 、函数、区块、指针等对象。const修饰指针时,如果出现在*的左边,则是修饰指针指向的数据,如果在右边,则表示指针本身是const。对于迭代器,声明一个const的迭代器,表示这个迭代
2011-09-21 13:36:38 352
原创 EffictiveC++笔记之用const、enum、inline替换define
#define MagicNum 3.1415,会让你再查找错误的时候浪费太多时间,因为编译器只会给出magic number的错误,而不会给出MagicNum。因为预编译只是将内容原封不动的展开,并没有在记号表中记录,所以编译器根本不知道这个东西。在定义class时,将st
2011-09-21 12:15:29 229
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人