软件工程(C编码实践篇)学习总结
来源:互联网 发布:历史的巧合 知乎 编辑:程序博客网 时间:2024/06/09 16:21
SA16225229 彭机勇 (原创作品转载注明出处)
《软件工程(C编码实践篇)》MOOC课程作业【http://mooc.study.163.com/course/USTC-1000002006】
实验楼实验报告目录
- 实验一:写一个hello world小程序
- 实验二:命令行菜单小程序V1.0
- 实验三:内部模块化的命令行菜单小程序V2.0
- 实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
- 实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
- 实验七:将menu设计为可重用的子系统
学习心得
作为一个此前未系统学习过软件工程的学生,在学习本门课程之前,对软件工程的印象仅仅是一本厚厚的教科书和枯燥无味的文字描述,就代码层面来说,也仅仅停留在代码量和对代码规范的浅显理解上。
在这两个月的学习过程中,从一开始的熟悉linux开发环境,到慢慢发现软件工程并非只有枯燥的教科书,也并非只有代码量和代码规范,学习下来,收获很多。
在设计规范上,需要做到以下几点:(1)保证代码是简单的,例如一个函数只做一件事,一个模块只做一类事的;(2)遵循“不和陌生人说话”的原则,封装类,保证一个对象对另一个对象了解的尽可能少。(3)合理使用数据结构、控制结构等来简化代码;(4)要有错误处理。
在模块化的思想中,讲究高内聚低耦合,接口是规范的,代码是通用的。例如,可以用callback函数实现多态以便接口更加通用,实现信息隐藏。
在处理多线程问题中,需要关注函数是否是可重入的,使用互斥锁以保证多线程安全等。在子系统的设计当中,设计出可重用的接口。
总体来讲,在软件工程中我们应当遵循6大原则:(1)模块化;(2)使用接口;(3)信息隐藏;(4)增量开发;(5)抽象化;(6)一般化。
课程总结
收获
孟宁老师用心地采用的线上加线下教学模式,是我以前没有接触过的,在锻炼了我的动手能力的同时,更让我自己对软件工程有一个系统的认识。
软件开发要融入工程化的思想,要有高度的设计能力。软件开发,不仅仅关注功能,性能,更应该去研究可维护性,可扩展性等质量属性,不仅仅只关注代码,而更要上升为设计,复用等。
遗憾
没有能组队完成一个具体一点的软件开发的小项目。
阅读全文
0 0
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇) 学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 记负均正
- bzoj 2337: [HNOI2011]XOR和路径 期望dp+高斯消元
- jad.exe在windows下反汇编DOS的界面实现
- cocos2d-x 3.15.1 Win10 tolua++环境配置以及遇到的坑
- Java开发之@PostConstruct和@PreConstruct注解
- 软件工程(C编码实践篇)学习总结
- 如何在java中用“*”做出三角形
- Spring+Mybatis+SpringMVC+Maven的pom.xml的配置
- HTTP 性能/压力测试
- Android7.0华为Mate9开发获取WiFi列表失败
- Oracle简介及其安装
- TensorFlow个人学习(回归模型)
- 缺少“;”(在标识符“PVOID64”的前面)
- 6.15 JLL--实习日志--SetupNewWorkSpace on cloud9