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

来源:互联网 发布:手机淘宝搜图片找产品 编辑:程序博客网 时间:2024/06/06 20:38

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

一、实验链接

        实验一:写一个Hello word小程序

            主要是熟悉实验楼环境,初步了解代码规范,熟悉Linux基本命令;

            刚开始还没有熟悉环境所以报告的格式也有稍许错误。

            https://www.shiyanlou.com/courses/reports/1244229

         实验二:命令行菜单小程序

            实现了命令行的小程序,最主要的学习到很多代码规范,

            https://www.shiyanlou.com/courses/reports/1245119

             这里我有些许代码规范问题,比如大括号并不是完全规范的,所以作业也只有4分,引以为戒,吃一堑长一智

         实验三:内部模块化的命令行程序内部模块化的命令行程序

             将程序内部进行模块化,设置接口,使程序更加逻辑清楚

             https://www.shiyanlou.com/courses/reports/1246361

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

              用可重用的链表模块来实现命令行菜单小程序,执行某个命令时调用一个特定的函数作为执行动作;.链表模块的接口设计要足够通用,命令行                   菜 单小程序的功能保持不变;可以将通用的Linktable模块集成到我们的menu程序中;

               https://www.shiyanlou.com/courses/reports/1246349

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

              利用callback函数参数使Linktable的查询接口更加通用 注意接口的信息隐藏;

               https://www.shiyanlou.com/courses/reports/1247153

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

              使用make和make clean来编译程序和清理自动生成的文件;使menu子系统支持带参数的复杂命令,并在用户范例代码中自定义一个带参数的                   复杂命令;可以使用getopt函数获取命令行参数。
              https://www.shiyanlou.com/courses/reports/1248094



二、学习心得总结与收获

这门课的代码量不是很大,但是老师从一个简单的程序入手告诉了我门如何简化代码让软件与代码一致如何设计基本数据结构以及如何模块化设计还有如何对模块进行隐藏和封装,通过实例让我们更好的了解软件的设计思路和需要注意的问题,例如函数的可重入和线程安全问题。

对软件工程这门课有了更深的认识,面向对象的精髓在封装,这就对代码有了更高的要求,我们要尽量实现模块化,而不仅仅是继承,还认识到了线程安全的重要性。软件工程这门课看似文字性的内容比较多,但却是真正影响到实际编程中的,我们应该活学活用,让高级软件工程的思想深入到我们日常的编程中,写出更高效的代码。
       由于我并非计算机专业出身,虽然自学了很多语言也敲过很多代码,但是代码风格和一些基本的代码素养并没有经历过很好的培训,上了这门课给我很大的帮助无论是软件设计思路还是编码风格都有了很大的提高。在这里要感谢孟宁老师的这门课。
      这门课虽然是C语言,我门所用的语言不同,但是程序的设计思路和和软件设计的思想是相通的。知道思想之后我们就必须付诸实践,只有老师课堂上的代码量是远远不够的,只有勤加练习,才能融会贯通。只有自己动手做,才能更加深入理解。
原创粉丝点击