Dawei XU 徐大伟

Dawei XU 徐大伟

Flying in the free sky

    • Home
    • Archives
    • About

TDD中的迭代

一般人讨论TDD主要是集中在先写测试,还是后写测试上,其实我觉得先写后写都无所谓,重要是要写。另外其实TDD还包含很多别的我认为更重要的东西。The Cycles of TDD是Uncle Bob说的在TDD中包含的迭代。 秒级迭代(nano-cycle)。TDD的3个定律,就

Jun 5 2015

使用ProcDump在程序没有响应时自动收集dump

我在如何生成Dump文件中提到过可以使用ProcDump根据CPU使用情况,异常情况,程序是否没有反应,性能计数等来收集dump。 今天举个具体的例子看看怎么用ProcDump来自动收集Hung的dump,ProcDump的-h参数会在window不响应window消息(就是我们

Jun 3 2015

NASA关于如何写出安全代码的10条军规

The Power of Ten – Rules for Developing Safety Critical Code列出了NASA关于如何写出安全代码的10条规则。 所有的控制流程非常简单,不能有GOTO,不能有直接或间接的递归。 所有的循环都必须有一个固定的上届。比如

May 31 2015

C#和C++中的float类型

浮点数介绍浮点数(Floating Point)是计算机中用二进制表示实数的一种近似表示方式。就是用科学记数法来表示一个实数,分为3个部分,第一个部分是符号位,第二个部分是指数,第三个部分是尾数。 IEEE 754是IEEE的计算机表示浮点数的标准。它包含下面几种: Typ

May 24 2015

避免在C#中使用析构函数Finalizer

C#的析构函数Finalizer坑太多,就不要用了。

May 22 2015

C#性能优化的一些技巧

.NET Perls: Optimization列举了一些关于C#如何做性能优化的技巧和示例,我挑了几个列在下面,关于范例请参看原文。要注意的是这里提到的一些做法会导致程序可读性和可维护性变差,所以一定要在必要的时候再使用,对大部分非hot path的程序来说,可读性和可维护性通

May 17 2015

从bug中学习怎么写代码

从PVS Studio的一个通过静态检查开源项目发现的bug数据库中学习怎么写代码。

May 17 2015

Code Smell那么多,应该先改哪一个?

God Class和违反Interface Segregation是最严重的两个Code Smell,应该首先改善。

May 3 2015

Windows上常见的集中布尔类型的比较

BOOL vs. VARIANT_BOOL vs. BOOLEAN vs. bool解释了这几种布尔类型的来龙去脉。 写Windows1.0的时候C风头正盛,所以最老的BOOL是C风格的,它的定义如下:1typedef int BOOL; 接着OS/2 NT的开发人员引入了BOO

May 1 2015

编程语言的类型系统比较

An Introduction To Programming Type Systems比较了一下编程语言中的类型系统。 没类型: 比如汇编语言,没有类型的概念,所有都只是一个数字 弱静态类型: 比如C语言,可以定义类型,但是不强制执行,在不同类型之间自动转换 强静态类型

Apr 29 2015

提问的艺术

我们每天都会问别人很多问题,也会被别人问到很多问题,在处理这些问题的时候,我们常常会发现有些问题特别好,可以带来提问者和被问者的深刻思考和非常有建设性的讨论,最后提问者和被问者都得到了学习和提高。而有些问题质量很差,通常提问者和被提问者讨论了半天都不知所云。那么怎么才能提一个好问

Apr 26 2015

来看看破解你的密码需要多长时间

Jeff Atwood的Your Password is Too Damn Short再次强调了密码长度的重要性,如果你的密码长度不超过12,那么你的密码就是不安全的。 可以来GRC’s Interactive Brute Force Password “Search Space

Apr 26 2015

为什么在Windows有两个临时文件夹的环境变量Temp和Tmp?

如果看看windows的环境变量,可以看到Temp和Tmp同时存在,为啥会有两个呢?我们应该使用哪个呢?昨天The Old New Thing的博文Why are there both TMP and TEMP environment variables, and which o

Apr 18 2015

10个提高效率的小技巧

10 Days To Better Productivity介绍了10个提高效率的小技巧。 停止多线程。经常切换任务可以导致效率下降40%。 睡足。缺觉1.5小时相当于白天降低32%的警惕性。 吃零食。可以提高20%的效率。 避免社交媒体。现在每4.5分钟就会有1分

Apr 16 2015

如何调试msbuild?

本文介绍了如何调试msbuild,以及如何让msbuild编译solution文件sln。

Apr 15 2015

在C#中我们能调用一个类的私有方法吗

在C#中我们能调用一个类的私有方法吗?当然我们要排除掉用反射的方式:)直觉应该是不能。那我们来看一段代码吧。下面的代码修改自Eric Lippert的Interface implementation in C# and VB。 12345678910111213141516171

Apr 3 2015

什么时候应该使用C#的属性

看看Eric Lippert关于什么时候应该使用C#的属性的建议When should I write a property?。 逻辑上是一个类的属性。 属性应该比较稳定,不应该自己变化。 作者指出DateTime.Now违反了这两条。 属性读和写所花的时间应该和成员变

Apr 2 2015

Unicode和字符集小结

今天又读了一遍Joel Spolsky的The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excu

Apr 1 2015

C#编译器怎么检查代码是否会执行

本文介绍了C#编译器是怎么检查代码是否可达的,C# Reachability。

Mar 31 2015

C#中如何操作2个list

本文介绍了在C#中如何用Enumerable.Select和Enumerable.Zip来简化操作2个list。

Mar 30 2015
<span></span>Prev1…34567…22Next<span></span>
RSS

Total Posts: 421


Recent Posts

  • * 代码审查(Code Review)的一些最佳实践
  • * 关于Service Level Agreement (SLA)的一些建议
  • * 程序员的开发效率可以衡量吗?
  • * 开好会议的一些小技巧
  • * 什么是好的会议

Tags

  • Programming196
  • Tool132
  • Debug35
  • Other32
  • SoftSkill19
  • Development16
  • Testing13
  • Manage12
  • Design9
  • Process8
  • Life6
  • Algorithm5
  • Cloud3
  • Installer2
  • Productivity1
  • DevOps1

Powered by hexo and Theme by Jacman © 2024 Dawei XU