hmx+ 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
此次博客记录自己在网易云课堂上软件工程(c编码实践篇)课程的学习成果,以及对软件工程的理解和学习心得。
【实验楼】实验报告
实验一:写一个hello world小程序
【实验一:主要是熟悉实验楼环境,初步了解代码规范,熟悉linux基本命令,vim基本命令,markdown的书写等 】
实验二:命令行菜单小程序V1.0
【实验二:主要是掌握代码风格的原则:简明、易读、无二义性,学习缩进、命名、注释等代码编排的风格规范】
实验三:内部模块化的命令行菜单小程序V2.0
【实验三:主要是了解学习代码风格规范,并且通过参考借鉴代码设计规范的一些方法完成本次实验, 学习并掌握了使用不同的源文件实现代码的业务逻辑和数据存储】
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
【实验四:用可重用的链表模块来实现命令行菜单小程序,执行某个命令时调用一个特定的函数作为执行动作;链表模块的接口设计要足够通用,命令行菜单小程序的功能保持不变;可以将通用的Linktable模块集成到我们的menu程序中;接口规范;】
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
【实验五:学习利用callback函数参数使Linktable的查询接口更加通用】
实验七:将menu设计为可重用的子系统
【实验七:主要是学习用make命令编译程序。同时掌握两个函数的使用strtok():将命令行转换成 argc argv ,以空格隔开;自定义函数内部可以使用getopt()来获取参数; 为menu子系统设计接口,支持带参数的命令,使得程序更具有可重用性】
学习总结
1、学习完这门课,我对软件设计开发有了一个新的认识,以前对软件开发认识不足,在本科阶段学到的是瀑布模型,主要是学习软件开发的全部流程,以及一些小的应用。但是从未考虑开发的效率。但是,通过这段时间的学习,我学习到了软件开发过程中的一些设计思想。
2、最大收获是学到了模块化代码、可复用的代码和回调函数等接口设计,以及可重入函数、线程安全等较深入的设计问题。在学习本门课程之前,我从未接触过这些个设计方法,初次学习感觉很吃力,但是坚持下来后,还是觉得很有成就感。
3、本次课程最大遗憾就是课下投入时间不够,仅仅一个命令行程序只是对概念有了初步了解,但是应该多实践才能巩固、理解这些设计思想。很遗憾,我没做到,但我还是很荣幸能够跟随孟宁老师学习。
4、希望自己在今后学习中,能够更加努力,多花时间去钻研,不断学习,不断提高。