摘要: 编写单元测试要点:1.引用NUnit.DLL2.using NUnit.Framework3.声明Public类, 测试类添加[TestFixture]属性,此类必须有一个public的、没有参数的构造函数(默认构造函数就行)4.测试方法必须添加[Test]属性,测试方法必须是Public 没有返回类型(Void)CateGory: 单元测试中有个很好的东西,那就是分类(CateGory),Category可以将你想要测试的方法或者测试类组织到自定义的分类中,当运行此分类时便可以自动的执行依据包含的测试类和测试方法,当然它也可以排除自动执行某些分类,使用Explicit=true属性来指定是. 阅读全文
posted @ 2014-01-06 14:39 CandyZkn 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 测试代码必须要做的几件事情:1.准备测试所需要的各种条件(创建所有必须的对象,分配必要的资源等)。2.调用要测试的方法。3.验证被测试方法的行为和期望是否一致。4.完成后清理各种资源 当执行测试代码的时候,请记住你从来不直接运行产品代码;至少,并非像一个普通用户那样。而是借助于测试代码,让它根据小心控制的条件来执行产品代码。 断言时单元测试最基本的组成部分。 一般而言,一个测试方法会有多个断言,因为需要验证该方法的多个方面和内在的多种联系,当一个断言失败的时候,该测试方法将会被中指,这时应该做的就是在进行继续测试之前,先修复这个失败的测试。当有测试失败的时候,无论如何都不能给原有代码添加... 阅读全文
posted @ 2014-01-06 12:53 CandyZkn 阅读(223) 评论(0) 推荐(0) 编辑
摘要: Expression Blend实例中文教程系列微软Expression Blend基础教程系列 阅读全文
posted @ 2014-01-02 11:12 CandyZkn 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1.代码整洁之道2.单元测试之道3.测试驱动开发4.重构_改善既有代码设计5.HeadFirst 设计模式6.代码大全7.程序员的职业素养8.程序员修炼之道9.人月神话10.WPF编程 阅读全文
posted @ 2014-01-02 11:05 CandyZkn 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 软件业的特点是变化。若要提高软件开发的技能,就必须跟上技术发展的步伐。埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识。世界上并不存在速成的终南捷径,但阅读好的技术书籍,尤其是阅读大师们的经典著作,总能收到事半功倍之效。一位优秀的程序员,或许就是一名好的阅读者。好的阅读者,总是知道如何选择好的书籍。书海浩繁,良莠不齐。阅读技术好书,如与智者交谈,“与君一席话胜读十年书”;遭遇技术烂书,如被拐卖,“少小离家老大回,乡音无改鬓毛衰”。 ThoughtWorks作为一家学习型组织,颇为看重每一位员工的学习能力。事实上,大多数ThoughtWorker的骨子里,都溢满了读. 阅读全文
posted @ 2014-01-02 10:34 CandyZkn 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-01-02 10:24 CandyZkn 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 在WPF中,默认的Password控件的Password属性是不允许为之绑定的,下面是一个解决绑定Password的方法的代码:1.前台代码 ... 阅读全文
posted @ 2013-12-31 11:56 CandyZkn 阅读(1700) 评论(0) 推荐(0) 编辑
摘要: 向ListBox绑定数据源时,如果数据量过大,可能会使得程序卡死,这是就需要一条一条的向ListBox的数据源中添加记录了,下面是个小Demo:1.前台代码,就是一个ListBox控件 2.后台代码,就是不断的向ListBox的绑定的数据源中添加记录,这里只是添加了一个描述数字,不断的调用委托添加数据,如果想停止添加数据时可以写停止条件。using System.Collections.ObjectModel;using System.Windows;using System.Windows.Threading;namespace WpfApplication1{... 阅读全文
posted @ 2013-12-27 17:52 CandyZkn 阅读(3956) 评论(0) 推荐(0) 编辑
摘要: 10. Courier也叫Courier New,这大概是我们最熟悉的字体了,基本上所有系统都有。很不幸,很多终端和编辑器都默认使用此种字体,虽然不会影响使用,但它太无趣了。如果你正在使用这种字体,建议调大一点,并打开系统的 anti-aliasing (抗锯齿) 设置。9. Andale Mono比Courier稍好,也是常见的默认字体。我感觉字母太宽了,字符间距也比较蠢。8. MonacoMac的默认字体,好像也只有Mac上有。小字号的时候表现不错,而且再大些也不寒碜。7. Profont与Monaco类似的位图字体,你能够在Mac, Windows和Linux上面使用。小字号的时候表现好 阅读全文
posted @ 2013-12-27 10:32 CandyZkn 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/stoneniqiu/p/3488546.html 会使用工具是人类文明的一大进步,今天敏捷大行其道,好的工具可以大大的提高生产力,这里说的工具都是VS平台上的扩展工具,一些机械的部分可以交给工具去处理,自己多关注其他部分。下面分享下我觉得不错的工具,很多也是同事推荐给我的。一、NuGet :组件管理神器用了VS,NuGet都没装,你可以去面壁去了。它为我们提供了丰富的组件库,下载,安装,引用,瞬间完成。如果你还是先下下来,安装,再浏览式的引用到工程,那太慢了。而且下次要找都不知道丢哪儿了。NuGet 将组件安装到具体工程:引用之后,会. 阅读全文
posted @ 2013-12-25 09:13 CandyZkn 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 转载地址:http://www.cnblogs.com/nankezhishi/archive/2010/03/17/wpfbug13.html我们知道ListView在内容超出控件本身范围时,默认会把滚动条显示出来。这个内容,显然应该包括Head和Items两个部分。无论哪个部分超出了,都应该把水平滚动条显示出来。ListView的Bug就在于,当ListView中没有Item,且Headr的总长超过ListView本身时,水平滚动条没有出现。这个Bug很好重现。代码如下:运行效果如下图所示:这可能是我发现过的问题本身最简单,但是解决起来很复杂的一个Bug了。问题出在什么地方呢?仔细分析Li 阅读全文
posted @ 2013-12-24 11:07 CandyZkn 阅读(1410) 评论(0) 推荐(0) 编辑
摘要: 转载地址:http://www.cnblogs.com/nankezhishi/archive/2010/03/19/FixListViewNotScrollHeaderBug.html在上一篇Blog中指出了ListView在没有Items时,即使Header超出了控件范围,水平滚动条也不会出现的问题。由于篇幅和时间所限,没有给出解决方案。下面就介绍一种解决方案。具体问题请参考上篇文章,这里就不赘述了。解决这个问题分两个步骤:1.把Header放到ScrollViewer中可以Scroll的部分里。2.让Header在拖动垂直滚动条时不动。(难点,明明在ScrollViewer里,却不能动。 阅读全文
posted @ 2013-12-24 11:07 CandyZkn 阅读(886) 评论(0) 推荐(0) 编辑
摘要: 本文是公司一位大牛发表的很好用的工具的集合,这里分享一下:1.EmEditor Professional以运行轻巧、敏捷而又功能强大、丰富著称,作为简单好用 的文本编辑器,EmEditor支持多 种配置,可自定义颜色、字体、工具栏、快捷键、行距等,支持文本列块选择、无限撤消/重做等,是替代记事本的最佳编辑器。2.Everything大家应该比较熟悉了,这是目前速度最快的文件名搜索工具,可以极速搜索、瞬间定位文 件,在输入搜索词时即时显示匹配结果,是每一个用户都需要安装的效率工具。神器Everything最具优势的就是其超快的搜索速度,使用起来也极其简单,键入 搜索词,所有匹配的文件或文件夹都会 阅读全文
posted @ 2013-12-23 10:07 CandyZkn 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 原文作者:周银辉来源:博客园原文地址:http://www.cnblogs.com/zhouyinhui/archive/2007/09/30/911522.html可能你已发现一个问题,我们无法使用VS对WPF项目创建单元测试(VS2005不行,VS2008我没试过,但据说也不行),这让人很郁闷,这里将介绍如何使用NUnit来对WPF项目创建单元测试并解决其中的难题(但利用NUnit来对WPF创建单元测试时并不会像针对.Net2.0一样容易,可能会出现一些小问题).1,对普通类(非WPF UI组件)进行测试:这和在.Net2.0中使用NUnit进行测试时一样,不会出现任何问题,参考下面的代码 阅读全文
posted @ 2013-12-20 10:49 CandyZkn 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 1.Codecademy趣味编程网站 Codecademy 是一家非常火爆的创业公司,旨在为人们提供一种互动性和趣味性更强的编程学习方式。非常不错!2.Fenby国内的一家在线学习网站,类似于codecademy趣味编程网站,也很不错! 阅读全文
posted @ 2013-12-18 14:00 CandyZkn 阅读(268) 评论(0) 推荐(0) 编辑
摘要: internal class Program { [DllImport("kernel32.dll")] private static extern uint GetTickCount(); //SetThreadAffinityMask 指定hThread 运行在 核心 dwThreadAffinityMask [DllImport("kernel32.dll")] private static extern UIntPtr SetThreadAffinityMask(IntPtr hThread, ... 阅读全文
posted @ 2013-12-18 11:27 CandyZkn 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: 最近项目需要一个日志工具来跟踪程序便于调试和测试,为此研究了一下.NET日志工具,本文介绍了一些主流的日志框架并进行了对比.发表出来与大家分享.综述 所谓日志(这里指程序日志)就是用于记录程序执行过程中的信息,以便开发、测试和支持人员在调试或测试时利用这种技术来快速分析和定位程序中的问题和缺陷。日志通常将程序执行中的信息以文本的形式写入日志文件或将程序数据发送到监视器(比如说数据库、远端计算机、邮箱、网页等)。高级一些的日志工具还支持对一些复杂的数据结构、调用栈、线程等进行实时监控和记录。 大多数.NET的日志框架有着一些共同的概念和特性。根据作用来分主要有以下组件或概念:记录器(Logger 阅读全文
posted @ 2013-12-13 12:12 CandyZkn 阅读(1415) 评论(0) 推荐(0) 编辑
摘要: MySQL 连接方式-----------MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式本地数据库连接Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase; 远程数据连接:Driver={mySQL};Server=myServerAddress;Option=131072;Stmt=;Database=myDataBase; User=myUsername;Password=myPassword; 特殊的TCP/IP端口连接Driver={mySQL};Server=mySer 阅读全文
posted @ 2013-12-09 15:46 CandyZkn 阅读(2877) 评论(0) 推荐(0) 编辑
摘要: 重构:http://www.cnblogs.com/matchcolor/tag/%E9%87%8D%E6%9E%84/default.html?page=531天重构:http://www.cnblogs.com/KnightsWarrior/archive/2010/06/30/1767981.html 阅读全文
posted @ 2013-12-05 16:06 CandyZkn 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1 public class TextBoxDouble : TextBox 2 { 3 public TextBoxDouble() 4 { 5 KeyDown += TextBoxDouble_KeyDown; 6 TextChanged += TextBoxDouble_TextChanged; 7 } 8 9 private void TextBoxDouble_TextChanged(object sender, TextChangedEventArg... 阅读全文
posted @ 2013-12-03 13:33 CandyZkn 阅读(1246) 评论(0) 推荐(0) 编辑