码迷,mamicode.com
首页 > 其他好文 > 详细

学完《软件工程(C编码实践篇)》之后的总结

时间:2015-11-10 13:42:56      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

学完《软件工程(C编码实践篇)》之后的总结

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

 

Part1  对代码层面的软件工程的理解及学习心得体会

      作为一个此前未系统学习过软件工程的学生,在学习本门课程之前,对软件工程的印象仅仅是一本厚厚的教科书和枯燥无味的文字描述,就代码层面来说,也仅仅是停留在代码量和代码规范的浅显理解上。

      在这两个月的学习过程中,从一开始的熟悉linux开发环境,到慢慢发现软件工程并非只有枯燥的教科书,也并非只有代码量和代码规范,学习下来,收获很多。

好的软件工程代码是讲究设计规范的,讲究模块化思想,是需要保证线程安全的,子系统的接口需要是可重用的。

      在设计规范上,需要做到以下几点:(1)保证代码是简单的,例如一个函数只做一件事,一个模块只做一类事的;(2)遵循“不和陌生人说话”的原则,封装类,保证一个对象对另一个对象了解的尽可能少。(3)合理使用数据结构、控制结构等来简化代码;(4)要有错误处理。

      在模块化的思想中,讲究高内聚低耦合,接口是规范的,代码是通用的。例如,按照可以用callback函数实现多态以便接口更加通用,实现信息隐藏。

在处理多线程问题中,需要关注函数是否是可重入的,使用互斥锁以保证多线程安全等。在子系统的设计当中,设计出可重用的接口是很受用的。

      此外,在linux下对代码的编译可以编写Makefile文件,然后直接用make命令编译会省事不少。

      学习过程中,应当要多动手写代码,边写边理解,写完了之后再回顾和不断优化代码,把相关的模块串联起来思考,理解它们之间的内在联系。

  

Part2  实验报告汇总

1)实验报告一

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

 (2)实验报告二

实验二:命令行菜单小程序V1.0,具体要求参见视频

 (3)实验报告三

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

 (4)实验报告四

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

 (5)实验报告五

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

 (6)实验报告七

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

  

Part3  总结

      在软件工程开发过程中,需要注重代码规范、设计规范、模块化、线程安全、子系统要可重用等,写出易读而又高效安全的代码。遗憾的是没有组队做一个完整实用的软件工程应用项目。

 

学完《软件工程(C编码实践篇)》之后的总结

标签:

原文地址:http://www.cnblogs.com/bob180/p/4951912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!