软件工程(C语言实践篇)学习心得
来源:互联网 发布:三国志13pk优化补丁 编辑:程序博客网 时间:2024/06/14 17:15
齐昱博 + 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
不知不觉的已经跟着孟宁老师学了一周的课程,其实刚开始老师教的东西的时候有一些手足无措,但跟着老师的节奏,还有老师的新式课堂,学习一些新的知识,不再那么困难,学习变得很有趣,还有一个心得体会就是学习知识要多动手,动手了学到的知识才不会那么空洞,从刚开始的helloworld到相对来说比较通用的menu,学到了一个思想也学到了一些细节的知识点。老师的幽默的比喻,娓娓道来,把知识点深入浅出的讲出来,让我们这样零基础的同学也可以听得懂学到东西。下面是我整理得这学期我的收获。
实验代码和链接:
以下是在实验楼上运行得代码和实验报告:
实验一:写一个hello world小程序
实验二:命令行菜单小程序V1.0
实验三:内部模块化的命令行菜单小程序V2.0
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
实验七:将menu设计为可重用的子系统
实验要求:
实验一 要求:1.在实验楼Linux环境使用C语言编写,编译后执行输出"Hello,World!";2.实验和实验报告务必在实验楼linux下完成,课程视频是在本地虚拟机上操作的,除了目录环境和作业提交方式不同外,基本的命令和编辑操作方式是一致的。 实验二 要求: 代码风格要求:1.代码风格的原则:简明、易读、无二义性;2.缩进、命名、注释等代码编排的风格规范;3.《构建之法》4.1代码规范;4.高质量C++/C编程指南(林锐)。 具体要求:1.实现一个命令行的菜单小程序,执行某个命令时调用一个特定的函数作为执行动作,实现的命令个数不少于8个;2.类似ftp的help目录或者bash的help目录;3.程序循环、接收用户的命令,如help、others等命令;4.可以广泛通用的命令行菜单子系统组件,可方便地定制而嵌入到其他系统。 实验三 要求:1.注意代码的业务逻辑和数据存储之间的分离,即将系统抽象为两个层级:菜单业务逻辑和菜单数据存储;2.遵守代码风格规范,参考借鉴代码设计规范的一些方法;3.代码的业务逻辑和数据存储使用不同的源文件实现,即应该有2个.c和一个.h作为接口文件。 实验四 要求:1.用可重用的链表模块来实现命令行菜单小程序,执行某个命令时调用一个特定的函数作为执行动作;2.链表模块的接口设计要足够通用,命令行菜单小程序的功能保持不变;3.可以将通用的Linktable模块集成到我们的menu程序中;4.接口规范。 实验五 要求:1.给lab5-1.tar.gz(在实验楼Linux虚拟机环境下~/se_files/目录下)找bug,quit命令无法运行的bug;2.利用callback函数参数使Linktable的查询接口更加通用;3.注意接口的信息隐藏。 实验六 要求:1.为menu子系统设计接口,并写用户范例代码来实现原来的功能;2.使用make和make clean来编译程序和清理自动生成的文件;3.使menu子系统支持带参数的复杂命令,并在用户范例代码中自定义一个带参数的复杂命令;4.可以使用getopt函数获取命令行参数。
总结:经过一个学期得学习,最大得收获是接触到很多新的东西,让我对软件工程有了更加深刻的认识,遗憾的是课时有点少,没有听够孟宁老师讲课,不过我会再多投入时间学习软件工程和设计模式相关的课程,非常感谢孟宁老师给我们带来的这场生动的课。
阅读全文
0 0
- 软件工程(C语言实践篇)学习心得
- 软件工程线上课程(C语言实践篇)学习心得总结
- 软件工程(C语言实践篇)学习心得总结
- 软件工程(C语言实践篇)学习心得总结
- 软件工程线上课程(C语言实践篇)学习心得总结
- 软件工程(C语言实践篇)学习心得总结
- 软件工程(C语言实践篇)学习心得总结
- 软件工程(C语言实践篇)学习心得总结
- 《软件工程(C编码实践篇)》学习心得
- 软件工程(C编码实践篇)学习心得
- 软件工程(C编码实践篇)学习心得
- 软件工程(C编码实践篇)课程学习心得及总结
- 网易云课堂《软件工程(C编码实践篇)》学习心得
- 《软件工程(C编码实践篇)-孟宁》学习心得汇报
- 高级软件工程(C编码实践篇)学习心得
- 软件工程(C编码实践)学习心得
- 高级软件工程&&《软件工程(C编码实践篇)》课程学习心得及内容总结
- 软件工程(C语言实践篇)课程总结
- 清晰的MVP-封装 Retrofit2+Rxjava+Lamda+dagger2(可直接使用)
- Fragment的基本使用
- 项目当中所需要使用的工具类
- leetcode学习其他人的代码
- 迭代器协议和生成器
- 软件工程(C语言实践篇)学习心得
- FacebookPhotoPicker module
- JavaScript语言精粹章节节选
- 从setContentView说起
- Error Limit and Limit Switch Errors Resolving Error Limit Errors An error limit error occurs when
- 如何解决svn Authorization failed错误
- js中apply和call的应用
- APP接口开发小结
- php计算当前时间到下个月的剩余天数