命令行菜单在开源社区中常见的写法
我们将数据结构和它的操作与菜单业务处理进行分离处理,尽管还是在同一个源代码文件中,但是已经在逻辑上做了切分,可以认为有了初步的模块化。
进行了模块化设计之后我们往往将设计的模块与实现的源代码文件有个映射对应关系,因此我们需要将数据结构和它的操作独立放到单独的源代码文件中。
1.简约而不简单——代码规范和代码风格
1.1.实验项目介绍
1.2.代码风格的原则:简明、易读、无二义性
1.3.编写高质量代码的基本方法
1.3.1.通过控制结构简化代码
1.3.2.通过数据结构简化代码
1.3.3.一定要有错误处理
1.3.4.性能优先策略背后隐藏的代价
1.3.5.拒绝修修补补要不断重构代码
1.3.6.编码过程中的团队合作
1.4.测试题
2.模块化软件设计
2.1.模块化的基本原理
2.2.模块化代码的基本写法
2.3.传统单体集中式架构与微服务架构
2.4.软件设计中的一些基本方法
2.4.1.KISS原则
2.4.2.使用本地化外部接口来提高代码的适应能力
2.4.3.保持设计结构和代码结构的一致性
2.5.测试题
3.可重用软件设计
3.1.消费者重用和生产者重用
3.2.接口的基本概念
3.2.1.软件模块接口举例
3.2.2.微服务接口举例
3.2.3.接口与耦合度之间的关系
3.2.3.1.公共耦合
3.2.3.2.数据耦合
3.2.3.3.标记耦合
3.2.4.同步接口和异步接口
3.3.可重用软件模块的接口设计范例
3.3.1.通用Linktable模块的接口设计
3.3.2.给Linktable增加Callback方式的接口
3.3.3.进一步改进Linktable的Callback方式的接口
3.4.通用接口定义的基本方法
3.4.1.参数化上下文
3.4.2.移除前置条件
3.4.3.简化后置条件
3.5.测试题
4.可重入函数与线程安全
4.1.线程的基本概念
4.2.函数调用堆栈
4.3.可重入函数
4.4.什么是线程安全?
4.5.Linktable软件模块的线程安全分析
5.子系统的可重用设计
5.1.menu子系统的可重用接口设计
5.2.Makefile工程文件
5.3.带参数的复杂命令函数接口的写法
6.工程化编程实战总结
6.1.看待软件质量的几个不同角度
6.2.软件设计的方法和原则
参考资料
推荐阅读:
推荐阅读:
完整课程点击下方【阅读原文】