10 2011 档案
摘要:在DLL封装的时候,一般都会采用接口类(Interface Class),即纯虚类,达到接口与实现分离的目的。但采用接口类,只能通过返回指针或引用来间接使用被封装的类。相对于这一点,采用句柄类(Handle Class)是个不错的替代方案。句柄类除了名称外,在使用方式上基本同被封装的类无差别。句柄类易用性是建立在耗费一定运行效率的基础之上的(当然,接口类也会消耗一定的运行效率),因此它一般用在运行效率要求不是很高的场合。另外,由于句柄类的编码量比接口类多,所以一般用来封装改动比较小的类。在适当的场景下,使用句柄类是种不错的选择,并且它也能用来封装继承体系,下面是使用句柄类封装继承体系的例子。有
阅读全文
摘要:虽然是大公司的产品,QQ它还是会在我们的折腾下崩溃的,但是它总是崩溃的很优雅,还要弹出自己的对话框来结束。并且发送报告,去掉了系统默认的发送报告的对话框。所以一拍脑袋,想让自己的程序崩溃的体面一点。自己想了大概的思路,觉得可以用一个进程来监控目标程序。的确也可以拿到了目标程序崩溃的信息,知道它什么时候崩溃的,也可以做额外的操作,但是这样是没办法把默认的发送错误的对话框去掉的。然后又有人说是不是采用了类似钩子的方法把这个东西在哪里勾掉了。最后网上查了一番,发现SetUnhandledExceptionFilter这个函数解决了一切。总结了下搜到的资料,这个函数的返回值有三种情况:EXCEPTIO
阅读全文
摘要:Bruce Eckel(Thinking in Java/C++作者) 在他的 5%的神话 (Mythical 5%) 中提到:5%的程序员开发效率是其他95%程序员的20倍 (5% of programmers are 20x more productive than the other 95%)按照80-20法则,80%的程序员几乎不看书,不读Blog,不参加技术会议,不持续学习。这些人也可能会进入大公司,他们日复一日的做着重复的 工作。另外20%则在专业方面比较主动,他们喜欢阅读,喜欢学习,喜欢参加技术活动。这20%当中又会有80%的人可能不会特别成功,他们仍然走在通往成 功的路上奋斗。
阅读全文
摘要:作为一个程序员,每天做的最多的一件事情,那必定是编码了,这是我们吃饭的资本,是老板发给我们工钱的理由。而一个有效率的程序员,必定能够快速的进入编码状态,用最高的效率完成自己的工作,并且能在闲暇之余,对自己的知识体系进行查缺补漏,不断完善,逐步提高自己的技术实力,最终成为一名优秀的乃至杰出的程序员。想成为一名杰出的程序员,唯一的途径就是学习、思考、实践,三者缺一不可,但这三者都是需要一个良好的环境才能高效的进行,设想一下,如果处在一个噪音环绕,干扰不断的环境中设计复杂的算法,大多数人一定会崩溃的!当然,不是每个人都要去设计复杂的算法,大部分人工作的环境也没有变态到噪音环绕、干扰不断,但是周围人的
阅读全文
摘要:本文写给那些认为在项目上所花时间和效率成正比的程序员。我要说的是,事实并非如此。虽然你需要在电脑前敲键盘输入东西,但这只和编程沾上一点边。那么,程序员该如何利用时间呢? 俗话说,磨刀不误砍柴工,拿出一部分时间提升自己的技能,可以提高工作效率。你可以参考以下几条建议: 1. 编写单元测试,提高效率(如果你还没有这样做) 这是一个十分基础的工作,但是许多程序员并没这么做。但你应该这么做。这样做不仅能够提高代码质量,还能提高工作效率。你不但能够在发布和修改你的程序时更加自信,而且还节省了相当多的时间。 试想一下,如果你正编写一个大型网络应用程序,其中一个小小的代码出现了差错,要修改它便意...
阅读全文
摘要:工作效率对自由职业者而言非常重要,因为你完成的工作直接和你的收入相关。 如果可以在更短的时间内做更多的事,你就能承接更多的工作。同时,也就有更多的时间去陪家人、结识朋友或发展个人的爱好。 高效率对自由职业者还意味着你可以在为当前客户工作的同时,不断地拓展业务。此外,你也有更多的时间来不断地学习、提高技能或学习新的东西。 在这篇文章中,笔者和大家分享自由职业者如何让工作高效的10种方式: 1 整理好你的工作环境 从实用层面来看,一个整洁、摆放好的物理环境意味着找东西非常方便。不必浪费很多宝贵的时间去找一份急需要的资料。 从另外一个层面来看,工作的环境会影响到我们的思维。如果工作的...
阅读全文