• 团队项目·冰球模拟器——文件结构设计


    注:本文涉及到的设计是很早就完成了,由于个人原因,到现在才发表。

    1. 需求

    出于文档结构化的思路考虑,有以下要求:

    1. 相关联的模块应放在一起,关联程度较弱的模块应相互隔离。
    2. 在命名方式上应当尽量遵寻约定俗成的方式,如doc代表 documents 即说明文档、src代表 source code files 即源代码文件等等。

    出于编程和源代码管理的角度考虑,有以下要求:

    1. 本项目采用 cmake 来进行编译命令预处理,即生成相应的 Makefile 文件。
    2. Git 系统只能对纯文本文件进行有效的版本管理,不应当将二进制文件等文件加入到 git 的版本管理中。

    2. 项目文件层级设计

    2.1 根目录

    根目录下有以下多个文件(夹):

    • doc
      • 该文件夹是用于存放开发文档、说明文档等文本文件,使用 Github Flavored Markdown 格式编写。
    • modules
      • 该文件夹用于存放第三方库以及供 cmake 使用的第三方库寻找文件Findxxxx.cmake
    • res
      • 该文件夹用于存放一些固定的资源文件,如图片、命令示例等。
    • src
      • 该文件夹用于存放源代码文件,下文将详细解析。
    • .gitignore
      • 该文件是 Git 系统的设置文件,用于忽略不提交的内容。
    • CMakeLists.txt
      • cmake 描述文件,所有编译工作均应在根目录下进行,生成文件将在工作目录下的build文件夹。

    2.2 源代码文件夹 <ROOT>/src

    • src/interpolation 存放插值算法相关文件
    • src/physics_engine 存放物理引擎相关文件
    • src/tasks 存放 Xenomai 任务的具体实现的文件
    • src/test 存放单元测试类文件
    • src/CMakeLists.txt cmake 描述文件
    • src/common.cppsrc/common.h 存放项目内的全局变量、函数、宏
    • src/main.cpp 主程序入口,包括有 Xenomai 线程初始化等内容。
    • src/unit_test.cpp 单元测试入口,不包含具体测试内容。

    3. 未解决的问题

    由于本项目中预计可能会出现有静态资源文件,需要复制至运行目录中,但是似乎未找到相应的 cmake API,只能手动复制,有一定的麻烦。

    4. 具体项目

    Github 仓库

  • 相关阅读:
    jenkins更换国内源
    部署jdk和maven
    Prometheus监控Nginx
    Prometheus监控MySQL
    MySql里动态视图的实现
    MySql里split函数的实现
    HTML编码规范
    消弱反驳18招
    Pr2020
    记忆准则
  • 原文地址:https://www.cnblogs.com/passerby233/p/RTCSD_proj_files_structure_design.html
Copyright © 2020-2023  润新知