# OS课设-220 **Repository Path**: easterne/course-design---220 ## Basic Information - **Project Name**: OS课设-220 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-05-02 - **Last Updated**: 2021-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # README.md ## 开发环境 * IDE:clion * 编译器:g++ * 构建:cmake ## 文件定义 * file_manage:文件管理相关 * process_manage: 进程管理、调度相关 * mem_manage:内存管理相关 * device_manage:设备管理相关 * shell:shell涉及 * kernel:系统内核 * test:测试用例的存放文件 * main.cpp:程序入口 * main_test.cpp:测试的主函数 ## 开发规范 (类定义可以参考process_manage中的写法) * 类名:驼峰命名法 * private定义在public的前面 * 类中的方法/变量名:小写字母+下划线,如`print_info` * 大括号不换行,如: ```c++ int main(void) { ... } ``` * 如果有可能出现错误记得使用C++中的错误处理 * 出现指针相关操作全部使用**智能指针** * 不要在头文件里使用`using namespace std;`这种文件,如`string` `vector`这种使用`std::string` * 函数传递比较大的参数(如string、vector等)尽量使用引用传递,如果不想其被更改就加一个const,如`const string &str` ## 测试用例的编写 * 首先在测试用例头文件 test.h 对应测试类中添加测试方法(如果没有类则新建一个测试类) ```c++ // test.h class DemoTest { public: void testFib(); }; ``` * 然后在 test.cpp 中添加测试方法的定义 ```c++ // 假设此处要测试的是如下 fib 方法 int fib(int n) { if(n == 0 || n == 1) { return n; } return fib(n-1) + fib(n-2); } ... // test.cpp 中测试代码编写如下 // 调用 assert.h #include "assert.h" // 定义 fib 函数的头文件 #include "sample.h" void DemoTest::testFib() { assert(fib(0) == 0); assert(fib(2) == 1); assert(fib(3) == ) assert(fib(13) == 233) } ``` * 如果有可能出错的操作尽量使用`try-catch`包裹