- 博客(3)
- 收藏
- 关注
原创 反思面向对象
什么叫做“面向对象”,什么叫“面向过程”?如果这两个都是思想,那么这两者总是混在一起使用的。比如面向对象的class有个成员函数,这个函数内部多半就是面向过程的了。比如写个简单的脚本来调用一个Java程序,又是面向过程的东西在调用面向对象的东西了。这两者怎么分得开呢?用C写的kernel,我觉得就很面向对象。这算不算是用面向过程的语言,实现了一个面向对象的操作系统呢?最面向对象的操作系统,是用最面
2012-05-25 01:28:11 1557 1
原创 软件开发最重要的是可测性
有人问我软件开发最重要的是什么?答曰:可测性。如何定义可测性?答曰:程序一旦有问题就会显著暴露出来的特性。这是否会影响程序的稳定性?答曰:错的就是错的,错误一旦被隐藏,就会成为长久的暗疮,并在未来带来各种稀奇古怪的问题,将增加长久的维护成本。如果有问题就当时当地的暴露出来,就会被解决掉,从而使得软件自内而外的健康,逻辑正确。这样的软件是易于长期维护的。这是否会增加开发成本?答曰:有问题就暴露,确实
2012-05-14 10:12:59 1697 1
原创 [C++] 应该如何应对OOM?
作为一个C/C++程序员,应该怎么应对OOM,尤其是作为一个linux server开发者?很多人喜欢逻辑上‘完美’的解决方案,下面两个是常见的:1,new失败的时候抛异常,外面进行catch和拒绝2,程序判断malloc/new的返回值,为NULL就拒绝请求这两个看似完美的方案都有巨大的缺陷。1,new失败抛异常会导致C++不能正确的释放资源。除非C++程序员精心的设计每个类,并且精心的进行每次
2012-05-09 09:58:13 3632
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人