软件工程学习总结

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

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

对软件工程代码层面的理解和学习软件工程的心得

很荣幸能够选到孟宁老师的《软件工程(C编码实践篇)》,非常感谢孟老师的悉心指导,让我这个跨专业学生也从中收获颇丰。

软件工程是一门非常重要的学科,在较大规模的项目开发中,如果不使用软件工程的思想,那么在项目开发中将变得极其困难。软件工程的目的,就是在于减少系统内部的逻辑耦合,做到高内聚,低耦合。这样便能避免工程的过度复杂,层次不明,过度耦合等缺点。

通过学习孟老师的这门课,让编程基础不是很好的我在其中学到了很多东西,在编码方面也有了自己的认识:
1.代码的风格风格规范。代码的风格必须和项目组的要求相同,代码风格的原则有:简明,易读,无二义性缩进,命名方式,注释等的风格规范。
2.设计规范。在设计规范上,要保证代码的高内聚。一个模块做一类事,尽量使用库函数。
3.代码模块化。高内聚,低耦合。代码注意通用性。
4.代码可重用性。注重接口的设计,尽量多考虑一些以后要用的接口。
5.线程安全。不是所有的任务都是单线程的,有的问题可能有多个线程,这时就要考虑线程安全问题。比如函数是否可重入,使用互斥锁,读写锁,以及如何避免死锁等等。

通过几次线上实验,加深了我对这些知识的理解,对软件工程的认识不仅仅局限于理论,而是理论与实践并行。从最简单的无设计代码,到模块化设计,再到可复用代码和回调函数以及线程安全问题,一步一步的,我编码的水平逐渐提高,最后得到的收获是巨大的。

实验报告汇总

实验一:写一个hello world小程序
通过这次实验先让我了解了Linux的基本操作,git的用法,还有Markdown语法书写实验报告。为以后的实验打下了坚实的基础。

实验二:命令行菜单小程序V1.0
这次实验让我们进一步熟悉Linux下的基本操作,开始实现一个命令行程序,通过输入命令,在shell窗口做出相应的功能。

实验三:内部模块化的命令行菜单小程序V2.0
本次实验开始已经体现软件工程的思想了,这次实验室实现模块化设计,将实验二的代码模块化,学习到了代码设计中的一些常见方法。

实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
本次实验使用的是可重用模块的接口设计,同时使用到了数据结构。通过使用可重用模块,代码进一步清晰化,方便以后的维护。

实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
这次实验先是通过调试查找别人代码的错误之处,接着使用了回调函数,用callback实现多态浅析以及注意信息隐藏。

实验七:将menu设计为可重用的子系统
这次实验通过将之前所讲的方法,将其做成一个可重用的子系统。

总结

学完这门课,有收获也有遗憾。收获是让编码能力不强的我学会了如何有效地清晰地写代码,让我在编程的时候有个软件工程的思想。不像是在以前一样随便瞎写,代码混乱不堪。这门课很好地锻炼了我的软件工程思想和编码能力。

当然也有些遗憾。虽说收获颇丰,但感觉仍有一些意犹未尽,短短几周教会了我很多,让我对这门课产生了浓厚的兴趣,想要更深入地学习下去,可惜这门课只有几周,实乃遗憾!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值