06 2010 档案

摘要:使用gtest、或者cppunit之类的框架编写单元测试代码,一个最常见的问题是对类私有成员的测试与验证。理想情况下,我们希望在测试中,类中所有的数据与方法都是可以访问的;而在产品代码中,只暴露实现定义好的接口。gtest官方文档中,也提到了对私有成员的处理,方法不外乎两种:一是使用friend关键字,骗取信任得以通行;二是重构采用Pimpl模式,公共类中只暴露接口,而实现类中暴露所有细节(pub... 阅读全文
posted @ 2010-06-28 16:43 lzprgmr 阅读(10676) 评论(11) 推荐(2) 编辑
摘要:有1到10000共10000个数,如果我从中随机拿走一个数,你如何知道我拿走了哪个? 相信很多人看过这道题,并知道答案,这几天和同事聊天时听到了这个问题,因为有过自己的思考过程,不妨记录下来。说是逻辑题,其实也算是一道算法题,同事先讲了下他被面试中的思维过程:先把10000个数相乘,然后再将拿走一个数之后的9999个数相乘,两者相除即可。 这个算法是正确的,但是会有两个潜在的问题:如此多的数相乘,其范围必然会超出系统提供的数据类型支持,当然你可以实现自己的大数表示的算法,但那样性能必然有影响。假设扩展一下题目,提供的数组中有0的话,乘法就不可用了。针对前面提出的问题,同事想到了使用加法,先求 阅读全文
posted @ 2010-06-23 21:50 lzprgmr 阅读(6027) 评论(20) 推荐(1) 编辑
摘要:2009年9月的一天,受当时一些“技术名博”的影响,突然想搞一个独立域名的技术博客。于是开始了无比折腾的过程:买域名、买空间,当然,最痛苦的是想一个自己喜欢、容易记住又未被注册的域名选博客发布系统,在Movable Type和WordPress之间徘徊很长一段时间之后,选择了Movable Type然后就是在MT上使劲折腾了, 为了设计CSS耗费了我无尽的青春;而MT本身的... 阅读全文
posted @ 2010-06-14 19:02 lzprgmr 阅读(1449) 评论(1) 推荐(0) 编辑
摘要:呃, 不要误会,这不是我给出的建议,我暂时还算不上“优秀”的软件技术人员。是这样,这几天,从美国那边过来几个比较有经验的同事,因为相对来讲,中国这边的团队比较年轻,因此安排了一个“Open Forum” 的讨论会,让他们与中国的同事分享一下成长经验。他们一个是中国人,清华硕士毕业后去了美国,有10年的工作经验了;一个是美国人,有20年的工作经验。其间有一个人问了个问题:“要成为一个比较资深、优秀的... 阅读全文
posted @ 2010-06-08 22:28 lzprgmr 阅读(9409) 评论(52) 推荐(22) 编辑

黄将军