您的位置:首页 > 其它

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

2017-11-12 20:10 120 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fb524687/article/details/78514551

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

         github:https://github.com/criska123/fengbiao.git

       这学期我学习了孟宁老师的网易云课堂《软件工程:C编码实践篇》课程,并进行了相关的配套实验。孟老师的软件工程C编码实践篇强化实践能力训练,从我们学生较为熟悉的编程训练入手,非常注重实践,在试验中帮助我形成了对软件工程最直观的认识。

       首先我觉得通过孟宁老师的讲解和练习收获到很多,包括对Linux操作系统的基本操作,对C语言的使用和软件工程都有了更进一步的认识和理解。我觉得孟老师设置的课程非常适合我这样的跨考生,我从中受益很多。老师上课特别风趣有意思,喜欢讲一些笑话,课堂气氛还是很轻松的,并且孟老师对知识点讲解很透彻和有深度。我相信只要从开始到结尾好好地跟着老师的思路去做实验,不管是不是跨考生,都必定会得到巨大的进步!

       通过学习本课程后,我在代码的层面上加深了对软件工程的理解,主要体现在以下六个方面。 

       1、代码的风格一定要规范,避免理解困难。      

       2、对于有一定规模的软件来说,可以通过模块化的思想来设计。

       3、可以利用别人已经公开的、高效的、可靠的代码,这样既可以节约时间,又可以减少错误。

       4、还是要增加动手量,现在代码还是写得少了,感觉自己有很多不足。

       5、代码的命名和打包保存要做好,磨刀不误砍柴工。

       6、每一次的实验对于跨考的我来说都显得有些困难,可是我努力做到每一次都独立完成,虽然可能质量不是最高的,但是我想我一定会越来越厉害的,要继续加油!


    1. 熟悉Linux实验环境。

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

        实验报告链接:https://www.shiyanlou.com/courses/reports/1290625          github地址:https://github.com/criska123/fengbiao/tree/master/lab1        实验总结:第一次在Linux下操作,刚开始用vim编译器很不习惯。并且很多linux的很多命令和参数都需要学习。还好孟老师的视频给了我很大帮助,第一次在Linux下写hello world,是很适合初学者的。

    2. 代码风格规范。

    实验二:命令行菜单小程序V1.0。

         实验报告链接:https://www.shiyanlou.com/courses/reports/1291844          github地址:https://github.com/criska123/fengbiao/tree/master/lab2
         实验总结:懂得了代码风格在团队合作中的重要性,也初步接触了模块化设计思想,也学会了将命令封装成函数从而进行一部分的独立。

    3. 基本的模块化设计。

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

        实验报告链接:https://www.shiyanlou.com/courses/reports/1292400         github地址:https://github.com/criska123/fengbiao/tree/master/lab3         实验总结:初步实现了业务逻辑与数据结构的分离,大大地加深了对模块化思想的理解。

     4. 可重用模块的接口设计。

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

         实验报告链接:  https://www.shiyanlou.com/courses/reports/1295996          github地址:https://github.com/criska123/fengbiao/tree/master/lab4
        实验总结:用可重用的链表模块来实现命令行菜单小程序,执行某个命令时调用一个特定的函数作为执行动作,链表模块的接口设计到达足够通用,同时命令行菜单小程序的功能保持不变。在此我将通用的Linktable模块集成到menu程序中。

     5. 可重用模块的接口设计(callback函数)。

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

        实验报告链接:  https://www.shiyanlou.com/courses/reports/1297465         github地址:https://github.com/criska123/fengbiao/tree/master/lab5
         实验总结:首先利用callback函数使得linktable的查询接口更加通用,再者通过Debug调试的使用增强了代码调试的能力。

 6. 函数的可重入性(reentrant)及线程安全浅析。

       本次没有实验,所以没有报告,孟老师在视频里主要介绍了多线程编程和线程安全方面的知识。

        通过本次学习初步了解了多线程编程和线程安全的重要性和解决方案,对以后的学习和工作都有着很重要的作用。

     7. 子系统的可重用设计。

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

          实验报告链接: https://www.shiyanlou.com/courses/reports/1303083           github地址:https://github.com/criska123/fengbiao/tree/master/lab7          实验总结:本次实验,添加了menu接口,扩展了命令行功能,使其可以输入带参数的命令。编写Makefile文件使编译变得简单。同时还有Liunx系统函数getopt的理解和使用。最后一次实验,综合了前面所学知识,完成目标需要全面设计和仔细分析调试。

        学习完《软件工程(C编码实践篇)》课程后,我最大的遗憾是代码量没有练上去,还是要靠自己平时多下功夫,还有很多小细节处理不好,代码编译报了错,就很慌张,没办法冷静地进行处理,这也是我以后需要改进的地方。
附:实验报告列表 实验报告一           实验报告二           实验报告三           实验报告四           实验报告五           实验报告七
         感谢辛苦工作的孟老师以及帮助过我的同学们,你们的付出是我继续向前的动力,祝大家一切顺利!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: