记慕课软工的学习成果

SA17225089
葛颂
两个多月的线上学习过去了,在《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006的学习眼看着就要结束了,我想以一篇不算太长的博文来总结记录我在这堂课上的心得和体会。
我在课堂学习过程和每次的实验 告如下所示:
实验 告(一)简单的helloworld
实验 告(二)具有初步功能的menu菜单小程序V1.0
实验 告(三)内部模块化的菜单小程序V2.0
实验 告(四)用可重用的链表来实现菜单小程序V2.5
实验 告(五)用callback增强链表模块来实现命令行菜单小程序V2.8
实验 告(七)将menu程序设计成可重用的子系统
这门课程的教学由浅入深,从简变繁,循序渐进,层层深入软件工程的学习,通过对C语言编码的实现,来让我们更加深刻的理解软件工程。软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。而这次在慕课 上参加的线上课程,主要是通过让我们实现C语言编码,在程序设计语言还有代码标准的方面有了一定的了解。
一开始的第一课,孟老师(授课老师)就用了很多生动形象的例子来向我们介绍软件工程,并且让我们选择使用Linux系统来完成所有的目标,因为很多服务器的环境都是Linux系统的,再有就是在Linux系统下的开发可以彻底掌控设计要素,最后孟老师还开玩笑说,原因是他自己只会Linux,呵呵。在这一课里,我学会了很多Linux命令行,比较常用的有ls,mkdir,cd,vi,gcc等等,这些都是非常实用的技能,在这之后,我跟着视频中老师的指点,写了自己的一个helloworld程序。
第二课里,孟老师希望我们能实现一个命令行小菜单程序,最终目标是希望完成一个通用的命令行菜单子系统,这一课里我明白了软件工程以及一个软件是如何构建起来的,孟老师说,再复杂的代码也是从helloworld开始的,罗马不是一天建成的,我们要从hello world开始不断迭代调试,使代码长得越来越像一个命令行的菜单小程序,但是呢,在实际项目中其实并不鼓励从头开始写代码,这一点老师也说了,要找类似项目做逆向工程和再工程。老师在这一课里也强调了代码风格规范的重要性,让我受益匪浅。
接下来的课程中,孟老师教了我们模块化的思想还有一些基本模块化的写法,以及在代码设计中的一些常见方法,如:

  • KISS(keep it simple & stupid)
  • using design to frame the code(matching design with implementation)
  • including pseuducode
  • 不要和陌生人说话原则
  • 合理利用Control Structures、Data Structures来简化代码
  • 一定要有错误处理

再到后来,紧跟老师的课程,我们实现了通用linktable模块的接口设计,并且我们把这个linktable模块集成到我们的menu菜单小程序中,在这一课中,老师告诉了我们接口的规范,内聚和耦合的关系和要求,还有一些通用原则。
第五次课程,老师教会了我如何更进一步改进linktable接口,这一次我们在linktable增加了callback方式的接口,而且在menu中用callback的方式查询链表:

  • 用callb函数实现多态浅析
  • 信息隐藏

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113933 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年10月5日
下一篇 2017年10月5日

相关推荐