命令行菜单小程序v2.0
【网易云课堂昵称:JaYiFen + 《软件工程(C编码实践篇)》MOOC课程作业http://mooc.study.163.com/course/USTC-1000002006 】
实验要求(参照视频中的具体实验过程)
- 注意代码的业务逻辑和数据存储之间的分离,即将系统抽象为两个层级:菜单业务逻辑和菜单数据存储
- 要求:1)遵守代码风格规范,参考借鉴代码设计规范的一些方法;2)代码的业务逻辑和数据存储使用不同的源文件实现,即应该有2个.c和一个.h作为接口文件。
视频课课程小结:
模块化的思想和命令行菜单的实现范例(开源社区中常见的写法)
基本模块化的写法,包容功能的变化;
代码设计中的一些常见方法;
KISS(keep it simple & stupid) 一个函数或方法只做一件事;
using design to frame the code(matching design with implementation)设计与代码保持一致;
including pseuducode;
不要和陌生人说话原则;
合理利用Control Structures、Data Structures来简化代码;
实验思路:
1.内部模块化,将原先一个menu.cde源代码文件拆成2个部分,即数据层和业务逻辑层;
2.改写源代码;
3.测试功能完整性;
4.保存提交;
源代码:
1.menu.c
2.linklist.h 源代码
3.linklist.c 源代码
4.测试运行
实验总结:
1.认识到代码的重用复用应该在开始构建代码时就尽量将其模块化,遵循开-闭原则等;
2.在添加quit函数退出时,注意修改函数的返回类型;
GitHub: https://github.com/JaYiFen/se_code