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

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

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

本人本科非计算机及其相关专业,在本学期选修了孟宁老师的软件工程这门课,经过了半个学期的学习,在即将结课之时决定将自己的一些心得体验记录下来,也算是给这门课画上一个完满的句号!

一、学习心得
由于以前只是在研究生考试面试的时候稍微看过一点软件工程的知识,隐约只记得软件生命周期、瀑布模型等一些琐碎的零星的知识点。但是孟老师的高级软件工程这门课程主要分三部分:线上实验,线下实验、课堂相关实验和软工方面内容讲解;把理论与实践相结合起来。我觉得老师不仅教的是例如这个代码该怎么写这种纯碎的知识,更是教给我们(尤其是身为研究生的我们)一种学习方法,培养我们的学习能力,尤其是学习接受新知识的能力,我觉得这对于我们以后离开学校,走上工作岗位都是很有帮助的!

下面是软件工程(C编码实践篇)课程的部分收获

(1)在代码的规范上,需要项目组统一格式,函数和变量的命名方式,每个语句前是用tab键还是用4个空格 等等都需要规范! (2)在设计规范上,要保证代码是高内聚,例如一个函数只做一件事,一个模块只做一类事的,实现功能尽量用库函数;还有要遵循“不和陌生人说话”的原则,以保证除了类提供的接口,别人无法访问类的其他内容。同时要合理使用数据结构、控制结构等来简化代码。 (3)在模块化的思想中,讲究高内聚低耦合,接口要规范,代码要注意通用性。 (4)在处理多线程问题中,需要关注函数是否是可重入的,使用互斥锁,读写锁以保证多线程安全。 (5)在子系统的设计当中,要设计出可重用的接口。 (6)如何设计带参数的函数等。

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

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

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

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

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

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

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


7.子系统的可重用设计

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

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


三、总结

     通过孟老师的高软授课模式及其教学内容的学习,总的来说,还是受益匪浅,收获颇丰的,尤其是通过线下课程的学习与实验。对于跨专业的我来说,第一次接触到Vue,真是一头雾水,懵了!当时我连前端都不知道是干吗的,什么html,css,javascript都只是听说过,但完全不知道他们是干嘛的!没办法,跨专业不是借口,更不能是你不去学习的理由!于是,从网上找相关教程包括老师提供的学习资源,从html到css到js都一点一点涉猎,慢慢开始接触Vue,虽然说现在对前端这些知识包括Vue都还是知道的是皮毛,但是实验还是大概知道他在做些什么,并且通过了老师和助教的检查!所以通过这件事,让我更加明白:万事开头难,只要你肯投入时间,迎难而上,那些都是纸老虎!同时通过线下课程的学习,教会了我如何去快速学习一门新的知识,如何快速的去吸收并应用!我觉得这种技能的学习和锻炼才是最宝贵的,也是对我们以后的工作大有裨益的!通过这门课程的学习,遗憾也是有的:一是线下实验可以研究的更透彻,无奈各种因素,所以只好留在以后在好好研究!二是:这门课也给我打开了Linux的大门,但是也没有去好好研究它,所以我准备接下来好好研究它!

     最后无论怎样:都真诚跟老师说一句:感谢!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值