首页 > 代码库 > 软件工程(C编码实践篇)学习总结

软件工程(C编码实践篇)学习总结

李红 + 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006

一、课程心得

      大学的时候学习过软件工程这门课程,总觉得它是计算机专业中的政治课,直到上完孟老师的课程,我对这门课的认识有了很大的改观!

     尤其是在代码层面的学习,孟老师教授我们把代码作为整个工程的一部分,从代码设计规范,模块化思想,子系统的接口可重用,线程安全等多个方面来编写代码。而且孟老师打破了传统软件工程书本教学的方式,而是理论与实践完美的结合起来,每个实验之间都相互关联,实验内容层层深入,实验难度逐步增加,为我们理解软件工程的思想起到了明显的作用。学习完这几周的课程,我对代码从另外一个角度有了一个全新的认识,真的受益颇多!

二、实验报告目录

1.熟悉linux实验环境

【实验一:写一个hello world小程序 】

小结:在linux环境下,编写helloworld小程序。本次实验主要是让学生熟悉实验楼的环境,并学习Linux环境下的一些基本操作,如cd,gcc,vim,git等。

2.代码风格规范

【实验二:命令行菜单小程序V1.0】

小结:学习代码风格的原则:简明、易读、无二义性。并注意缩进、命名、注释等代码编排的风格规范。

3.基本的模块化设计

【实验三:内部模块化的命令行菜单小程序V2.0】

小结:学习模块化思想相关的知识,学会将系统抽象为两个层级:菜单业务逻辑和菜单数据存储。

4.重用模块的接口设计

【实验四:用可重用的链表模块来实现命令行菜单小程序V2.5】

小结:学习高内聚低耦合的思想,使代码更具有通用性并且更容易管理。注意接口规范。

5.可重用模块的接口设计(callback函数)

【实验五:用callback增强链表模块来实现命令行菜单小程序V2.8】

小结:利用callback函数参数接口更加通用,注意接口的信息隐藏

6.函数的可重入性(reentrant)及线程安全浅析

小结:知道什么是函数的可重入性,什么是线程安全,以及学习函数的可重入性与线程安全之间的关系。

7.子系统的可重用设计

【实验七:将menu设计为可重用的子系统】

小结:熟悉使用Makefile文件来简化多个文件的编译命令,学习menu程序的可重用性,学习getopt函数。

三、总结

      通过这几周的学习,我认识到软件工程对我们今后的开发,面试找工作都有着重大的影响,在一个团队中一个好的设计,好的代码质量将给团队带来巨大的效益。代码风格良好也为程序带来了良好的可读性,同时也便于软件后期的维护和升级。现在自己在编程的时候经常会自动的考虑代码规范性问题,以及要不要模块化,要不要对接口加以改进,这是学习这门课最大的收获。谢谢孟老师!

软件工程(C编码实践篇)学习总结