软工实践个人总结
一、基本情况
(1.1)请回望第一次作业,你对于软件工程课程的想象
在这些方面达到了我的期待和目标:
- 在第一次作业中我就说:我最希望的就是能在软工这门课中强迫自己去学一些知识。一直以来,我对计算机知识的学习只是停留在课堂学习的那些,也总是想着自己去学点课外知识,但也一有空就玩得停不下来了,所以我希望有人能逼我一把。确实一次又一次的软工作业让我不得不去学些新东西(不然做不出来呀),个人编程稍微学了点python,虽然最后没用python;结对编程学了些html、css、js,还学了微信小程序开发;团队编程学了java和安卓开发。虽然学的挺多东西其实没用到,甚至写代码的时候还要一边写、一边查,时间不够也只能挑着学,但是我确实是有花时间在学了,我感觉这方面是我在上完软工这门课后改变最大的地方。
在这些方面还存在哪些不足:
- 还是老问题:懒!没到ddl就感觉还有时间,还能玩,只剩一周了才开始肝。其实我都明白要是空出时间慢慢做,肯定能做的更轻松、更好,但一拿起手机、打开电脑就忍不住玩起来了。虽然比之前好了一点,真正写起代码也是能专注地一直写,但平时的一些碎片时间还是没能利用起来,有时间了也是第一时间想到玩一会,而不是去学习,未来还是要慢慢改变吧。
(1.2)总结这门课程的实践总结和给你带来的提升:
-
在软工实践课程当中我编写了 3000 行代码。
-
软工实践的各次作业分别花费的时间:
# | 作业 | 花费时间(分钟) |
---|---|---|
1-2 | 个人编程作业 | 2500 |
3 | 结对编程作业 | 2000 |
4 | 团队介绍与选题报告 | 600 |
5 | 团队需求分析报告 | 600 |
6 | 团队项目之现场编程 | 600 |
7-13 | Alpha冲刺(含总结 | 1800 |
14-19 | Beta冲刺(含总结) | 1200 |
- 讲述令你印象最深刻一次作业?为什么这次作业令你影响深刻?
我印象最深刻的一次作业是结对编程。
因为一直以来,写代码都是我一个人的事(总不能和别人一起写一份作业吧),写什么都是一个人的任务,写成什么样也不会有拖累别人的愧疚感。而结对编程应该是我有生以来第一次和别人一起写代码,所以热情十足,而且我觉得两个人一边写、一边讨论研究的感觉挺好的(
虽然其实是队友带我)。而且这次的作业十分符合我的目标:写一款游戏。可真正写起来才知道游戏不是那么好做的,怎么写UI界面,怎么设计游戏流程,怎么测试一些奇奇怪怪的bug,最终也是删删改改,这是bug,那也是bug,虽然勉强能玩,但和我心目中的想法还是有着不小的差距的。这次的作业只能算是试水,让我明白了自身能力的不足,还要继续努力呀!
- 在软件工程课程上花费的时间(预计花费时间参考:同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答)
累计时间 | 实际周均时间 | 预计周均时间 |
---|---|---|
165(h) | 12.7(h) | 8-10(h) |
- 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的作用?
微信小程序开发
在结对编程作业之前,我是完全没有一点小程序开发经验的,所以只能从头开始学。刚开始在B站上看HTML、CSS、JS的教程,看微信小程序开发者工具的使用教程,可是看着看着就要截止了,只好立刻上手,边写边查,好在官方文档和社区都是中文的,而且很详细,虽然最终写出来了,但我想吐槽一句,看的视频里的东西其实没用到多少。
原型开发
从一开始连原型是什么都不知道,到后面能熟练使用Axure Rp9,我感觉原型设计最大的作用就是能让别人一眼就明白你想做什么,本来口头讨论半天还是不大明白的问题,一画原型就知道最终要做成什么样了。有了一个大概的目标,剩下的其实就是去实现它了,这样就不用一边写代码、一边设计了。
安卓开发
团队作业感觉是几个软工作业里最难的一个了,也是工作量最大的一个,要完整做出一个应用真不是一件容易的事情,尤其是全组没一个人有安卓开发经验的时候。为了最终效果,只好自己扛起大旗,从java开始学,到在Android Studio上写代码,一点一点查官方的英文文档,也在Github上找了一些代码研究了下。几乎所有时候都是一边查、一边学、一边写,因为实在时间紧迫。有时候遇到一个bug,从下午到晚上凌晨一直坐着改,最忙的时候基本是除了上课就在写代码了。
Axure Rp9
原型开发工具,B站上有很详细的教程,用起来感觉功能十分丰富。后来看别人用墨刀感觉也差不多,但Axure Rp9应该是应用最广泛的原型开发工具之一了。
图片压缩工具
https://tinypng.com
开发微信小程序时对图片大小有要求,所以找了个图片压缩的网站,免费好用。
扣图工具
https://www.remove.bg/zh
https://www.picup.shop/
其实是有用ps的,后来觉得太麻烦了,只是扣个背景而已,于是找了两个网站,打开方便,我基本是哪个扣的效果好用哪个,扣完在用上面的压缩网站压缩下,美滋滋。
官方文档
微信小程序开发者文档
安卓开发者文档
刚开始不会都是查百度、博客园、csdn,后面发现他们都是从官方文档上复制黏贴的,最后干脆直接看官方文档,看完发现真香,谁用谁说好。
VS Code
我写c++大多用vs2019,写java用eclipse,写小程序用微信开发者工具,写安卓用Android Studio,但我最想推荐的却是vs code,虽然我平时只是用它来连github传东西,但是它给我的体验就是一个词:小而美。
- 其他方面的提升。
首先就是团队协作能力的提升,人是群体动物,一个人是很难写出好项目的。有时候团队里每个人分工合作,有些东西是我会你不会的,另一些是我不会你会的,大家合在一起,很难说遇到问题是解决不了的。同时团队协作也能工作效率直线提升,每个人只要负责自己的工作,最后综合起来就好了
再就是自学能力的提升,几乎所有软工作业都逼迫我去学新的知识,我甚至感觉这学期学的东西比过去两个学年都要多。尤其是一边学、一边写,也不会感觉枯燥,因为解决了一个问题,还有其他问题等着我解决,电脑前一坐,几小时不动都变成常态了(这样对身体不好,还是要运动运动的)。
最后就是Debug能力的提升,过程确实痛苦,有时候甚至要一行一行去找错误,但解决bug后的感觉确实美妙。
二、总结与收获
- 遇到问题可以试着查官方文档
以前我遇到问题都是直接在百度里查,有报错信息的bug问题还好,查起来是很快。但是遇到连怎么描述都不知道的问题时,查百度的后果就是查出一些其他东西,浪费了很多时间。还有的时候查到的东西要么收费、要么不详细。后来在结对编程和团队编程时,发现了官方的文档和社区,才知道原来查东西能查的这么详细明白。像是优化团队编程作业的UI时,我死活不能让一个组件在我想要的位置,的确是可以直接拖动,但我还是想更准确一点,不想用坐标来写,后来是查官方文档通过继承关系找到了有关的方法。
- 多用快捷键
我是一个很喜欢用快捷键的人,在用一个开发工具之前都会去查一查它的快捷键,记下一些常用的,我觉得这能提高工作效率。其中我最爱用的就是代码对齐快捷键和代码查找快捷键,几乎每个工具都有,所以很容易查到,加上些注释,真的能让写出来的代码好很多。
- 多利用碎片时间学习
其实我在这方面做的不是很好,但其实我是知道将碎片化时间利用起来学习的好处,结对编程时,为了赶学习进度,我拿了很多碎片时间来学原型开发,有空就打开B站看会视频,刚好很多教程都是分成一小节一小节的,所以学起来效率很高。
二、致谢
- 这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
我最感谢的是我结对编程作业的队友:杨寓荃
一开始我只是抽空学一些知识,后来发现队友已经学完,都开始写代码,这才让我有了紧迫感。但前面拉下的时间,后面做什么都慢一步,甚至连学习都是带着愧疚感在学的,紧赶慢赶好在最后赶上了,一起讨论、一起写代码的过程给了我很好的体验,令我印象深刻。那次作业之后,我感觉大部分任务都是队友做的,我好像没干什么事呀,所以我决定奋发图强,在团队作业绝不摆烂,想要“带”他一次,结果当然是达到目标了!