simple is beautiful
2014-12-17
projects | NbClasses | NbStructs |
---|---|---|
idLib | 115 types | 22 types |
TypeInfo | 30 types | 29 types |
Game | 225 types | 82 types |
CurLib | 1 types | 50 types |
DoomDLL | 395 types | 478 types |
MayaImnport | 9 types | 14 types |
Game-d3xp | 249 types | 89 types |
Doom3的代码开源于2011年,当即被人称赞为干净整洁有美感代码的典型代表,那么我们学习下。 ##定义高级的抽象类提供基础服务 主要指idClass,其实现三类基本功能:
-
实例创建。
-
类型信息管理。
-
事件管理。
##字符串操作变得更为简单 不需要自己定义方法来操作字符串,idstr已经包含绝大多数有用的方法。 ##源代码和GUI框架高度解耦 Doom3源码和MFC高度解耦合,只有涉及UI的类猜依赖MFC类。 ##提供了一个非常不错的工具库(idlib) 工具类遍布所有工程中,其提供了包括字符串处理,容器,内存管理等基本功能,使得游戏开发者可以专注于游戏逻辑的实现。 ##实现非常便于理解 一般而言实现编译器的代码会十分复杂,晦涩难懂,而Doom3实现了一个简洁干净的编译器。