当前位置: 首页 > news >正文

项目开发中源代码树的组织

很多人多很重视自己代码的可读性,重用性等,尽量让自己的代码看上去更加的雅观,因为很多人都认为这是代码优劣的门面光.
不过,我却认为,代码的门面光应该是源代码树的组织.
因为,别人看你的代码首先看到的目录结构.一个良好的目录结构,能很方便的让你定位到你需要的组件,同时还能很方便的后续添加代码等.
这段时间我一直在重构自己的渲染器,和去年不同的是,这次重构更多的是在重新组织整个代码树.目前来说,体会挺多的.不过没形成系统的条条杠杠(我这个人喜欢条条杠杠)。简单的说,多看看Linux Sourcecode的布局吧。那是我见到组织的最好的代码树之一。回头再来好好总结总结,总之,一个好的代码树结构能让你赏心悦目。我的XReal3D重构后的代码树如下。

Root
-------Tools 【渲染器工具】
---MaxPlugin
---FontCreator.
---MAYAPlugin
---------Engine 【渲染器本身的底层代码】
----BaseLib
----XUI
----XRenderSystem
----XRenderer
----Win32
----Linux
----XModel
----ParticleSystem
---------Plugins 【渲染器的各种插件】
-----XASRenderer
-----XASRendererPlugin
-----XR_VideoTexture
-----XR_GLRenderSystem
-----XR_D3D9RenderSystem
-----XR_WebBrowser
---------DemoProject 【演示项目】
------XRWaterInk
------XModelTest
---------Projects [开发项目]
------VideoFootBall

相关文章:

  • qt 在sqlite inster 数据时候报错
  • 制作一颗菜单树
  • 关于数据库主键和外键(终于弄懂啦)
  • Registered a new domain named ferrymanfractal.com
  • sqlite建表语句(特别是外键问题)
  • Script Panel
  • SQLITE数据表主键设置Id自增方法
  • 自己动手提高ubuntu系统的性能
  • QListT::at: index out of range
  • Qt构建
  • TechEd 2007 Orlando游记(一)之Signpost 2007
  • 浅谈 qmake 之 shadow build
  • 总结编译linux内核的步骤
  • Qt学习网址
  • linux文件系统详细讲解
  • [译]如何构建服务器端web组件,为何要构建?
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Android Studio:GIT提交项目到远程仓库
  • Electron入门介绍
  • JAVA SE 6 GC调优笔记
  • JavaScript异步流程控制的前世今生
  • Java反射-动态类加载和重新加载
  • k8s 面向应用开发者的基础命令
  • Nodejs和JavaWeb协助开发
  • PAT A1017 优先队列
  • PHP的类修饰符与访问修饰符
  • React-Native - 收藏集 - 掘金
  • SQLServer插入数据
  • tab.js分享及浏览器兼容性问题汇总
  • uva 10370 Above Average
  • yii2权限控制rbac之rule详细讲解
  • 创建一个Struts2项目maven 方式
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 写给高年级小学生看的《Bash 指南》
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 译有关态射的一切
  • 追踪解析 FutureTask 源码
  • ​ubuntu下安装kvm虚拟机
  • ###STL(标准模板库)
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (八)c52学习之旅-中断实验
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (三十五)大数据实战——Superset可视化平台搭建
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net core Swagger 过滤部分Api
  • .NET/C# 使用反射注册事件
  • .NET成年了,然后呢?
  • .net的socket示例
  • .net与java建立WebService再互相调用
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例