C语言项目架构与工程管理

📚 共计 30 章节
01
C语言项目概述
什么是项目架构、为什么需要工程管理、C语言项目的典型生命周期。
架构思维入门
02
开发环境搭建
GCC编译器安装、CMake工具链配置、VS Code与IDE的选择。
工具链环境
03
项目目录结构
src、include、lib、test、doc、build等标准目录的划分原则。
组织规范
04
Makefile基础
Makefile语法、目标与依赖、变量与自动变量、伪目标。
构建基础
05
Makefile进阶
条件判断、函数使用、多目录编译、通用Makefile模板。
构建进阶
06
CMake入门
CMakeLists.txt基本语法、project()与add_executable()、设置C标准。
CMake入门
07
CMake进阶
静态库与动态库构建、find_package()、自定义模块、安装规则。
CMake进阶
08
头文件管理
头文件卫士、声明与定义分离、include路径设置、循环依赖解决。
模块规范
09
模块化设计
模块划分原则、高内聚低耦合、接口设计、模块间通信。
设计架构
10
代码风格与规范
命名规范、缩进与排版、注释规范、代码审查清单。
规范风格
11
版本控制入门
Git基础概念、仓库初始化、提交与分支、合并与冲突解决。
Git协作
12
Git进阶工作流
GitFlow、Feature Branch、Pull Request流程、标签管理。
Git工作流
13
静态代码分析
cppcheck使用、代码复杂度度量、圈复杂度、代码异味检测。
质量分析
14
单元测试框架
CUnit与Unity框架介绍、测试用例编写、测试套件组织。
测试框架
15
测试驱动开发
TDD流程、红绿重构循环、Mock对象、覆盖率分析。
TDD测试
16
内存管理
堆与栈、malloc/free最佳实践、内存泄漏检测(Valgrind)。
内存调试
17
错误处理机制
errno使用、返回码约定、断言使用、异常模拟。
健壮性错误
18
日志系统设计
日志级别、日志格式、异步日志、日志轮转。
日志调试
19
配置文件解析
INI/JSON/XML解析库选择、配置管理接口设计。
配置解析
20
跨平台编译
条件编译、平台宏定义、不同编译器兼容性处理。
跨平台兼容
21
构建自动化
CI/CD概念、Jenkins/GitHub Actions配置、自动化测试集成。
CI/CD自动化
22
文档生成
Doxygen注释规范、文档生成配置、API文档维护。
文档Doxygen
23
包管理工具
Conan/vcpkg入门、依赖管理、私有仓库搭建。
包管理依赖
24
性能分析
gprof使用、perf工具、热点函数识别、优化策略。
性能优化
25
多文件编译优化
增量编译、预编译头文件、链接时间优化(LTO)。
编译优化
26
安全编程
缓冲区溢出防范、整数溢出检查、格式化字符串安全。
安全防御
27
设计模式在C中的应用
单例模式、工厂模式、观察者模式的C实现。
设计模式C语言
28
大型项目案例
开源项目(如Redis/Nginx)架构分析、模块拆解。
案例架构
29
代码重构技术
提取函数、重命名、简化条件、重构工具使用。
重构维护
30
项目交付与维护
发布流程、版本号规范、CHANGELOG编写、长期维护策略。
交付维护