软工实践个人总结
一、基本情况
(1.1)请回望第一次作业,你对于软件工程课程的想象
软工实践对我的锻炼是巨大的,不同于其他课只要上课+作业,软工实践花费了我大量的精力,收获还是很多的。不同于以前的编程作业,软工主要push我自己学习课外的内容。从第一次编程作业的关键词检测,到结对编程的小游戏,再到团队项目,无一不是上网学习大量的相关知识后做到的。比起编码能力,更多还是学到了搜索各类博客,查看各种文档,解决各种玄学bug的能力。这让我明白了只要学习能力强,在网上学到的知识比上课的都多(当然我也有好好上课qwq)。写成百上千行代码的程序让我明白编码前的全局规划很重要,以免写成自己都不愿意看的屎山TAT。团队项目让我意识到团队的沟通合作与前期的计划很重要,不然等到最后手忙脚乱。这学期多写了几个程序或许对今后的就业竞争力不会有多大影响,但我从中慢慢摸索出了学习的方法,一个看似不可能的任务在仔细钻研后或许没那么不可能;一个看似很厉害的程序当你写出来后好像也不过如此。现在的我还是个小菜鸟,但我更加自信了,因为困难总会解决的。同时我也深深地认识到自己的规划管理能力还不够强,团队项目没能前期想好该干什么,导致很多任务拖到Beta冲刺才做,项目有很多静态界面没考虑好有什么用处,浪费了大家的时间。
(1.2)总结这门课程的实践总结和给你带来的提升:
-
在软工实践课程当中我编写了2300行代码。
-
软工实践的各次作业分别花费的时间:
# | 作业 | 花费时间(分钟) |
---|---|---|
1-2 | 个人编程作业 | 900 |
3 | 结对编程作业 | 4475 |
4 | 团队介绍与选题报告 | 500 |
5 | 团队需求分析报告 | 500 |
6 | 团队项目之现场编程 | 240 |
7-13 | Alpha冲刺(含总结) | 1800 |
14-19 | Beta冲刺(含总结) | 1500 |
- 讲述令你印象最深刻一次作业?为什么这次作业令你影响深刻?
我印象最深刻的是结对编程,从前期联想到最后完成花了最多的时间,虽然结果不是很满意,但这是我学到最多的作业。从零开始学习如何做小程序,翻遍了文档和网上的教程,看懂样例代码后跟着模仿,一行一行敲出来的。解决了遇到的一个个困难,收获颇丰。但前期没好好分工,导致我写了太多代码,队友没得到什么锻炼。 - 在软件工程课程上花费的时间(预计花费时间参考:同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答)
累计时间 | 实际周均时间 | 预计周均时间 |
---|---|---|
165h | 11h | 12h |
- 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的作用?
- python是个很方便的语言,语言简洁,写一些较小的程序很方便。python有很多方便的库,比如拼音库,关键词检测的拼音主要用到了这个库。
- processOn画UML图很方便,有很多组件可以直接拖动使用,缺点就是排版不够方便,要手动一点一点调整。
- 微信开发者工具的模拟器功能很好用,可以很方便地测试小游戏的效果,还附带样例代码,能够更快地学习。
- Tomcat服务器是个轻量级Web服务器,可以将前端部署到tomcat上,还能将服务器的视频转换为url地址,供前端访问。
- 其他方面的提升。
- 学会解决各种玄学bug
- 极大地提升了信息检索能力
- 增强了团队沟通能力
- 在面对困难时更加冷静,培养了我更强大的心态
- 成为时间管理小能手
二、收获与总结
个人或结对或团队项目实践中的经验总结+实例/例证结合的分析。
第一次编程作业由于前期没有规划好代码结构,想到什么写什么,使代码越来越难看,可读性很差,最后自己都看不下去了。这样的代码写完后很多bug都不好调试,分数也不高。同时确实对性能的考虑,检测一次关键词调用了很多次拼音库,导致性能很差,最后也很难重构,分数也比较低。结对编程作业的规划就好很多了,编码前仔细阅读了样例代码,完全了解了代码细节之后才开始编码,各种类的属性和方法都事先考虑好了。这样做代码的可读性确实会更高,但是一开始太注重细节可能会影响效率。代码的可扩展性也很重要,否则之后加新功能时要进行大量修改,降低可读性。