在本学期的高软课,我的收获非常大,最开始学习了git的用法,之前只是简单将项目传到github,没有进行过其他git命令的学习,通过一个git实验,我学会了回退版本、合并项目等git的操作,更确切地理解了之前只是看到过名称但并不了解的branch、master的概念。通过vscode的作业督促,我不仅开始习惯使用vscode写代码、创建项目、修改配置,而且能够更熟练地用vscode和git结合,直接从vscode将代码项目上传到github上了。
复习了vim的同时还学习了正则表达式的一些用法,对我帮助最大的就是在linux环境下用终端打开很长的代码项目时,想要定位到确切的函数可以直接使用正则表达式:“/word”,意思是向光标之下寻找一个名称为 word 的字符串,这样就能方便快速地找到函数。这对我的其他课程也有很大的帮助,如在linux环境下进行项目搭建和做实验的课linux和汽车软件工程等。
通过学习写一个命令行菜单,menu项目,从最简的随意版本到软件工程开源社区写法,每个版本的更新和老师引导式地边介绍规范边慢慢增加要求,让我意识到了代码规范也是很重要的,不仅重要在可读性上,更重要的是安全性,通过作业又练习了这一点:通过分析所给项目中的回调函数,之前都是以为只有面向对象的语言才可以实现多态,但是通过阅读分析menu项目学到了C语言的多态实现,再结合老师课上所讲内容,这一部分已经记忆深刻了,这在我后面找实习面试也碰巧遇到了C语言多态的相关问题,被问到时我回答得很好。
然后学习兼复习的设计模式、分析设计图以及一些项目架构,对大学时学习的软件工程又进一步复习。总体在工具使用和代码规范上都收获了很多,感谢老师!
参考资料:《代码中的软件工程》代码中的软件工程: 《代码中的软件工程》一书的配套ppt和源代码