TDD中的迭代
一般人讨论TDD主要是集中在先写测试,还是后写测试上,其实我觉得先写后写都无所谓,重要是要写。另外其实TDD还包含很多别的我认为更重要的东西。The Cycles of TDD是Uncle Bob说的在TDD中包含的迭代。 秒级迭代(nano-cycle)。TDD的3个定律,就
一般人讨论TDD主要是集中在先写测试,还是后写测试上,其实我觉得先写后写都无所谓,重要是要写。另外其实TDD还包含很多别的我认为更重要的东西。The Cycles of TDD是Uncle Bob说的在TDD中包含的迭代。 秒级迭代(nano-cycle)。TDD的3个定律,就
我在如何生成Dump文件中提到过可以使用ProcDump根据CPU使用情况,异常情况,程序是否没有反应,性能计数等来收集dump。 今天举个具体的例子看看怎么用ProcDump来自动收集Hung的dump,ProcDump的-h参数会在window不响应window消息(就是我们
The Power of Ten – Rules for Developing Safety Critical Code列出了NASA关于如何写出安全代码的10条规则。 所有的控制流程非常简单,不能有GOTO,不能有直接或间接的递归。 所有的循环都必须有一个固定的上届。比如
浮点数介绍浮点数(Floating Point)是计算机中用二进制表示实数的一种近似表示方式。就是用科学记数法来表示一个实数,分为3个部分,第一个部分是符号位,第二个部分是指数,第三个部分是尾数。 IEEE 754是IEEE的计算机表示浮点数的标准。它包含下面几种: Typ
C#的析构函数Finalizer坑太多,就不要用了。
.NET Perls: Optimization列举了一些关于C#如何做性能优化的技巧和示例,我挑了几个列在下面,关于范例请参看原文。要注意的是这里提到的一些做法会导致程序可读性和可维护性变差,所以一定要在必要的时候再使用,对大部分非hot path的程序来说,可读性和可维护性通
从PVS Studio的一个通过静态检查开源项目发现的bug数据库中学习怎么写代码。
God Class和违反Interface Segregation是最严重的两个Code Smell,应该首先改善。
BOOL vs. VARIANT_BOOL vs. BOOLEAN vs. bool解释了这几种布尔类型的来龙去脉。 写Windows1.0的时候C风头正盛,所以最老的BOOL是C风格的,它的定义如下:1typedef int BOOL; 接着OS/2 NT的开发人员引入了BOO
An Introduction To Programming Type Systems比较了一下编程语言中的类型系统。 没类型: 比如汇编语言,没有类型的概念,所有都只是一个数字 弱静态类型: 比如C语言,可以定义类型,但是不强制执行,在不同类型之间自动转换 强静态类型
我们每天都会问别人很多问题,也会被别人问到很多问题,在处理这些问题的时候,我们常常会发现有些问题特别好,可以带来提问者和被问者的深刻思考和非常有建设性的讨论,最后提问者和被问者都得到了学习和提高。而有些问题质量很差,通常提问者和被提问者讨论了半天都不知所云。那么怎么才能提一个好问
Jeff Atwood的Your Password is Too Damn Short再次强调了密码长度的重要性,如果你的密码长度不超过12,那么你的密码就是不安全的。 可以来GRC’s Interactive Brute Force Password “Search Space
如果看看windows的环境变量,可以看到Temp和Tmp同时存在,为啥会有两个呢?我们应该使用哪个呢?昨天The Old New Thing的博文Why are there both TMP and TEMP environment variables, and which o
10 Days To Better Productivity介绍了10个提高效率的小技巧。 停止多线程。经常切换任务可以导致效率下降40%。 睡足。缺觉1.5小时相当于白天降低32%的警惕性。 吃零食。可以提高20%的效率。 避免社交媒体。现在每4.5分钟就会有1分
本文介绍了如何调试msbuild,以及如何让msbuild编译solution文件sln。
在C#中我们能调用一个类的私有方法吗?当然我们要排除掉用反射的方式:)直觉应该是不能。那我们来看一段代码吧。下面的代码修改自Eric Lippert的Interface implementation in C# and VB。 12345678910111213141516171
看看Eric Lippert关于什么时候应该使用C#的属性的建议When should I write a property?。 逻辑上是一个类的属性。 属性应该比较稳定,不应该自己变化。 作者指出DateTime.Now违反了这两条。 属性读和写所花的时间应该和成员变
今天又读了一遍Joel Spolsky的The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excu
本文介绍了C#编译器是怎么检查代码是否可达的,C# Reachability。
本文介绍了在C#中如何用Enumerable.Select和Enumerable.Zip来简化操作2个list。