设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

「毁灭战士3」源码就是“保持简洁”的证明

2015-1-25 14:56| 发布者: joejoe0332| 查看: 3152| 评论: 0|原作者: 威士忌|来自: 伯乐在线

摘要: 假如你在网上搜最好的C++源代码。「毁灭战士3 | Doom 3」的源代码肯定会被提到好多次,这篇就来证明此事。我花了一些时间通读了 DOOM3 的源代码。这可能是我见过的最干净最漂亮的代码了。 ...


  让我搜索下只有一个基类的类:


  几乎40%的结构体和类都只有一个基类。通常,OOP(面对对象编程)使用继承的好处之一是多态,下面蓝色标明了源代码中的虚函数:


  超过30%的函数是虚函数。少数是纯虚函数,下面是所有虚基类列表:


  只有52个类被定义为虚基类,其中35个类只是纯接口,也就是这些接口都是纯虚函数。


  我们来搜搜使用了RTTI的函数


  只有非常少的函数使用了RTTI。


  为保证只使用OOP最基础的概念,不使用高级设计模式,不过度使用接口和虚基类,限制了RTTI的使用并且数据都定义为结构体。


  至此这份代码跟很多C++开发者所批评的“带类的C”没太大区别。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部