摘要:
懒汉(双重检查锁定)方式的详解补充 书接上回,还是先把代码再贴一次。 关键之处还是在声明instance变量时的volatile关键字。因为咋看起来,如果没有这个volatile似乎程序逻辑上也没有什么漏洞。 但是 ,由于instance = new LazySingleton()的操作并不是原子的 阅读全文
摘要:
设计模式之单例 定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 简单来说,也就是需要保证一个类在整个应用程序的生命周期内,只能存在一个实例(没有也行)。为了达成这个目标,应该要做到以下几点: 1. 私有的构造器,如果是构造器被声明为public的,则无法控制其实例化; 2. 一个获取实 阅读全文
摘要:
最近在产品开发过程中遇到一个问题,就是在对数值进行截取,例如说保留两位小数时,最终得到的结果跟预期的在某些情况下会产生差异,这个差异的表现就是最后一位与预期的不一致,也就是说在“四舍五入”上出现了问题。所以,专门抽时间看了一下。首先,我们需要确认一下舍入的规则,按照我们上小学的时候所学应该是**“四... 阅读全文
摘要:
前文中所提到的测试都是针对一个方法进行的独立测试,即使是同事测试多个方法,他们之间也没有影响。但是在实际的生产过程中,更多的情况是方法与方法之间是存在相互的逻辑关系的,所以也就有了今天要介绍的顺序测试。顺序测试,顾名思义,就是按照预先设定的顺序来测试一系列的方法。首先还是展示一下要进行测试的代码 public class Mathmatics { public static int Add( int a, int b) { return a + b; } public static int Dec( i... 阅读全文
摘要:
私有方法需不需要测试,本文不做讨论。假设您也认为有时候,私有方法也需要进行测试,那就一起来看看如何进行私有方法的测试。准备测试代码测试用的代码还是前面测试时使用过的代码,不同之处就是在类中增加了一个私有方法。 private static int Div( int a, int b) { return a / b; }创建测试方法测试方法的创建步骤也与一般的测试方法一样,在带测试的方法上从右键菜单中选择“创建单元测试”就可以在测试项目中添加一个结构完整的测试私有方法的单元测试方法,我们所需要做的就是修改测试条件以及断言等。 ... 阅读全文
摘要:
又是这两天在项目中遇到的,或许很简单,但真实第一次遇到,记录一下。 在页面上用JS获取了一下当前的日期,并用getYear()方法返回了当前的年度,2013也没问题,代码在IE中都测试通过了之后就提交了。然后同事很快就告诉我年度显示的不对,显示的是113。我很诧异,试了一下还是没问题,然后就去同事那里扫了一眼,发现他用的是chrome,我马上意识到是浏览器兼容的问题了。 google了一下,问... 阅读全文
摘要:
借着工作忙的借口,偷了两天懒,今天继续单元测试之旅。前面说了如何进行一个最简单的单元测试,这次呢就跟大家一起来熟悉一下,在visual studio中如何进行数据驱动的单元测试。 开始之前先来明确一下,什么是数据驱动的单元测试,借用一下msdn里的文字,就是通过使用Microsoft单元测试框架用于托管代码,可以设置单元测试方法来检索数据源中要在测试方法中使用的值。连续运行方法时更加方便的使用一... 阅读全文
摘要:
使用VisualStudio中的单元测试功能,可以很方便的创建单元测试项目、编写单元测试代码以及执行单元测试。而如何在VisualStudio中使用单元测试功能,就是本文和后面几篇想要说的了。 1.创建测试项目 在创建测试项目之前,我们还需要有一份待测试的代码,下面的是我准备的一小段代码。 namespace BigMan.UnitTest{ public class ... 阅读全文
摘要:
Ch1.1 程序设计的基本元素习题:1.1(+ 5 3 4)12(- 9 1)8(/ 6 2)3(+ (*2 4) (- 4 6 ))-16(define a 3)a=3(define b (+ a 1 ))b=4(if (and (>b a) (< b ( * a b ))) b a)4(cond ((= a 4) 6) ((= b 4) ( + 6 7 a)) (else 25))16(+ 2 ( if ( > b a ) b a ))6(* (cond (( > a b ) a) (( < a b ) b) (else -1)) (+ ... 阅读全文