《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
实验过程:
实验总结:
实验报告:https://www.shiyanlou.com/courses/reports/644985
实验代码:http://git.shiyanlou.com/chaoge282/shiyanlou_cs122/src/master/lab1
实验过程:
1.参照视频中的具体实验过程
2.进入实验楼,在目录下创建lab2
3.编写程序代码,并完成实验报告
实验总结:
实验报告:https://www.shiyanlou.com/courses/reports/661548
实验过程:
实验总结:这次的实验感觉总体难度较之前有提高,刚开始的代码的编写遇到很多错误,包括在Linux C的一些基础知识,比如函数指针等,但是这些都是可以百度到答案的,我们要耐心的根据提示的错误信息找出错误的代码,加以修正。
实验报告:https://www.shiyanlou.com/courses/reports/686392
实验代码:http://git.shiyanlou.com/chaoge282/shiyanlou_cs122/src/master/lab3
实验过程:
实验总结:本次实验最大收获的是学会了将数据结构抽出来独立成一个通用模块的技巧,老师演示的linktable模块,与具体的数据类型无关是一个通用的链表模块,我们要用到模块时,再具体定义数据类型。这样就可以在C语言没有泛型的情况下尽最大可能复用数据结构的代码,这是非常厉害的技巧。本次实验的收获是这四次实验以来最大的。
实验报告:https://www.shiyanlou.com/courses/reports/701963
实验代码:http://git.shiyanlou.com/chaoge282/shiyanlou_cs122/src/master/lab4
实验过程:
关于quit不能执行的bug出在:在设计函数SearchLinkTableNode时,其中的查找条件
while(pNode != pLinkTable->pTail)应改为while(pNode != NULL)
因为在初始化时quit正好处在plinkTable->pTail位置,不满足循环条件。
学习利用callback函数参数使Linktable的查询接口更加通用。
当我们向用户提供接口的时候,要学会注意接口信息的隐藏,只提供给对方必要的信息,而不能完全暴露自己的信息,以免被别人攻击,修改自己内部信息而造成不可预估的后果。
实验总结:
实验报告:https://www.shiyanlou.com/courses/reports/715603
实验代码:http://git.shiyanlou.com/chaoge282/shiyanlou_cs122/src/master/lab5
实验过程:
执行从all之后开始 makefile也是工程文件,也需要维护 可以手工写makefile,也可以用automake clean也是默认需要的,删除备份文件
实验总结:
实验报告:https://www.shiyanlou.com/courses/reports/748120
实验代码:http://git.shiyanlou.com/chaoge282/shiyanlou_cs122/src/master/lab7
历经11周,软件工程(c编码实践篇)这门课程终于圆满结束了(此处应该有掌声~)
学习完这门课,我对软件设计开发有了一个新的认识,以前总认为软件就是写程序,开发软件项目就是大家一起写程序,然后拼在一起实现最后的功能,但现在,我才知道我对软件有多么肤浅的认识,软件开发远比单单写程序来的高端,来的复杂。下面就从本实验说起。
实验是从最熟悉的hello word写起,当然,这个实验主要是让我们先了解实验环境,了解代码规范的一些基础内容,为后面的学习打基础。接着一步一步做实验,不知不觉将命令行菜单的一个小程序慢慢地变成了一个命令行的小系统,在这个过程中,尽管老师一直强调我们主要考察代码规范,可是我学到的又岂止是代码规范,还有很多能一直受用的知识,linux命令,markdown的书写,4空格缩进,变量名和函数名各种风格,{和}独占一行,且成对对齐,如何简化代码,如何保持设计与实现一致,如何设计规范的接口,如何让模块通用,如何提供皆空的同时隐藏信息,如何用makefile编译工程文件等等。。。。。这对以前只注重功能实现的我来说无疑是一个很好的学习过程和提高过程。
软件=程序+软件工程!!构建之法如是说,我深表赞同,一个好的程序我觉得不仅代码够规范,可读性够强,还要能可再利用,写程序之前应该先好好设计程序,怎么能让这个程序既实现功能,又美观,可读性强,同时以后遇到相似的问题还能继续用,现在回头想想,我们本次的实验解决的就是这个问题,在做实验的过程中老师提的要求就是在规范我们的程序设计,从一开始只是实现命令行输出功能,中间贯穿实验的代码格式和规范,到最后将menu主程序设计成接口,让其能重用,这整个过程就在改变着我们原有的程序设计思维,让我们认识到软件是高于程序的存在,真的受益匪浅!!
原文:http://www.cnblogs.com/xulichao/p/4965209.html