- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 C++内存管理(三)
前面讲的技术都只是处理简单的情况:出了某一个作用域,对象就被释放;另一个对象被释放的时候,他管理的对象都被释放。实际的程序里经常会有更复杂的情况出现,对象之间互相引用,形成一张网。一个对象会被好几个其他对象用到,你又不能规定出简单的规则,怎么办呢?常用的一个办法就是引用计数,你可以自己写一点代码来实现,并不难。COM用的就是这个办法。Boost有这方面的支持,shared_ptr非常好用,随便什么
2008-03-04 19:14:00
447
原创 C++内存管理(一)
这个题目比较大,估计我也写不全了,想到哪就算到哪。 为什么要想写这个呢?新出来的语言,Java/.NET的各种语言/Python/Lua等等,几乎都有自动内存管理。可是C++这么老,而且很底层的语言,对动态内存管理的支持就不好。写C++程序的时候,需要更加小心,才不会出错。看下面的例子: File* file=SystemFactory::createFile(fileName);
2008-01-24 19:13:00
541
原创 免费午餐——先写单元测试
前些天看见有朋友的MSN签名档写着“unit testing”,就问了一下他们的单元测试是怎么做的。看来他们没有真正做起来,只是小范围的试一试。一方面,他们没有cruise control之类的工具,甚至连daily build都不见得有,单元测试也不上传到版本控制里。这样做测试的意义就不大了。另一方面,他好像把单元测试和接收测试(acceptance testing)、集成测试(integrat
2008-01-04 21:57:00
902
2
原创 1/3的效率提高!
前几天跟人聊天,谈到他们那边的开发流程。感觉因为流程不一样,我这里大概比他们的效率要高三分之一!我的比较是用项目总时间和纯粹编码阶段时间的比值,来估计开发效率的,也就是敏捷方法中的负载系数(Load Factor)或者项目速度(Project Velocity)。因为提供给用户的功能多少,应该是和编码的多少成正比的;其他时间,包括需求设计沟通等等,所产生的成果、文档用户都不能直接用,项目的商业价
2007-12-21 10:39:00
538
原创 极限一小时
前些天在公司里做了几次极限一小时(Extreme Hour),每次都很成功 ,大家玩的很开心。游戏结束以后,大家谈了不少感言,还是挺有收获的。我自己也觉得学到了不少,感觉最好能安排时间重新做一次了,因为我是越讲越好,开始讲得不够到位。极限一小时,是一种介绍敏捷开发方法的培训游戏。十个人做一个演示性的项目,大家分别扮演开发者、用户、测试员和计划追踪者的角色,参与到其中来,亲身感受项目开发的过程。项目
2007-12-21 10:23:00
888
关键演讲:敏捷的本质 The Essence of Agile (Henrik Kniberg)
2011-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人