摘要:
转载整理自:关于虚函数那点破事问题:如果你是C++程序员,我想你可能遇到过这样的情况: 在debug时,对着一个函数step into,明明调用的是A函数,可是结果却跳进了B函数。 为什么,call stack里显示的也是明明白白,就是直接进了B函数。百思不得其解,于是你怀疑是不是系统出了问题,是不是编译器出了问题,是不是调试器出了问题~~~ 其实那些玩意不是那么容易出错的,先看看你你的A,B函数... 阅读全文
摘要:
摘自:关于大型软件重构的一些想法这里讨论的重构是"为了实现某个功能而专门进行的大规模的代码改动"。 架构设计,你能看的多远 简单一点来说,我们要做的,就是把一个软件的UI代码与核心功能彻底分开,然后把核心部分做成一个单独的产品。当然,这种所谓的表现层与业务层要分 开的道理是谁都懂的,当初的架构里也的确加入了这些概念,但是由于没有严格要求,也从来不会把核心部分单独拿出来跑,经过近十年的开发,代码中核... 阅读全文
摘要:
摘自: 如何快速定位一个函数的返回点如何快速定位一个函数的返回点,这对于一个比较短小精悍的函数来讲,从来就不是问题,但是假设我们有一个名为LongFunction的1000行长的函数, 调用如下: 1bool bSuccess = LongFunction();2assert(bSuccess); 在运行中第二行弹出一个assert,我们知道肯定是LongFunction内部运行中出了什么问题导... 阅读全文
摘要:
开源界的5大开源许可协议详解越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域, 都有开源软件存在(象 WordPress,Drupal 这些开源CMS)。然而很多人对开源许可并不了解,本文介绍开源领域常用的几种许可协议以及它们之间的区别。 什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的... 阅读全文