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

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

* 作业目录
实验一:写一个hello world小程序
整体评价:
student1:符合要求,没有错误。
student2:思路清晰,代码风格严谨。
student3:实验过程完整,实验报告中附上了对应部分的代码,并无疏漏
student4:思路清晰明了。
自评评价:应该没问题


实验二:命令行菜单小程序V1.0
整体评价:
student1:很好很好
student2:缩进问题:8个空格;代码库的代码错误,无法运行
student3:代码风格规范不错
student4:思路新颖
student5:1、缩进问题:你肯定是用的Tab键进行的缩进,但是,实验环境的屏幕分辨率没那么高,你的代码让人看着太散。正确的缩进是使用四个空格。
2、字符串数组问题:表示字符串比表示其它常量要长了一些,因此字符串数组有着一套独特的代码风格,即
type function(type argument1, type argument2, ...)
{
    typedef char* String; //首先将指向字符型变量的指针类型定义为字符串类型
    String appCmd[]=
    {
        "Register",
        "Login",
        "Logout",
        "ChangePsd",
        "Readme",
        "Publish",
        "Help",
        "Exit"
    };
    //代码其余部分
}
这样看着简洁大方,更易阅读。另外,尽量不要使用宏定义,除非是一些较长的内容或者是一些较长的浮点数。
3、主函数的参数列表不应是空的,而应该有个“void”或者是“int argc, char *argv[]”,而且主函数最后没有返回值,系统无法判定你的程序是否正常终止。
student6:编译未通过
自评评价:基本没问题


实验三:内部模块化的命令行菜单小程序V2.0
student1:思路清晰 代码符合规范 很棒
student2:代码的业务逻辑和数据存储使用不同的源文件实现,即应该有2个.c和一个.h作为接口文件,并且代码没有风格上的问题,能够编译运行无警告
student3:可以,完成的不错
student4:不错!
student5:很好
自评评价:基本没问题


实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
student1:基本完成要求
student2:good
student3:链接不能直接打开,请注意
student4:格式需改进,建议使用markdown和超链接
student5:优秀
自评评价:good


实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
student1:功能完善,格式工整,就是信息隐藏没做好
student2:很好。
student3:lihai!
自评评价:最后一个没做到


实验六(测验):函数的可重入性(reentrant)及线程安全



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

student1:没有实际实现某一命令带参数的特殊反馈,有些可惜(仅是能输入参数却没有做处理,所以减了1分)。上传的时候也可以不用上传那么多文件,尤其是,o与可执行文件,用make生成就好,makefile又没有错,不需要这么小心谨慎。
student2:代码规范 ,结果正确
student3:通过为menu子系统设计接口,支持带参数的命令,使得程序更具有可重用性。
student4:很好,条理清楚!内容明了
student5:使menu子系统支持带参数的复杂命令,并在用户范例代码中自定义一个带参数的复杂命令 未找到
student6:不错
自评评价:基本差不多



* 最大的遗憾:
老师的课程通俗易懂,但由于最近经常出差,没有充足的时间来好好消化老师的课程。从而导致每次作业都很匆忙。


* 最大的收获:
这门课程起了个很好的引导作用;对于我来说,这门课虽结束了,但软件工程这门课程的学习才刚开始,期待着学习老师后面的两门课程。
最后:感谢孟宁老师,感谢实验楼,感谢网易及MOOC团队。

你可能感兴趣的:(软件工程,c,软件工程)