2021S软件工程——提问回顾与个人总结
2021S软件工程——提问回顾与个人总结
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2021春季软件工程(罗杰 任建) |
这个作业的要求在哪里 | 提问回顾与个人总结 |
我在这个课程的目标是 | 了解并熟悉软件开发的具体流程,与团队共同开发一款实用的软件。在实践中增强自己的工程能力。 |
这个作业在哪个具体方面帮助我实现目标 | 回顾一个学期的收获,解答自己提出的问题,总结自己在哪些方面有所提高,在哪些方面还需要改进。 |
1. 问题回顾
1.1 在一个项目开始前,代码规范该如何确立?
这个问题是我在第二次阅读作业中提出的。在实践中,一开始我和前端的队友也不知道如何来制定这些规范。后来我们想,代码是我们两个人写,那就怎么舒服怎么来吧。于是我们找了一些大厂的代码规范文档,根据我们自己的习惯进行了“定制”。
我想现在我对这个问题有了一个比较确定的答案:首先就看自己所在的团队是否有“传承”的代码规范,以适应祖传的代码;如果没有,则由团队成员共同协商制定,尽量让每一个成员的Coding都比较舒服。至于驼峰命名法、下划线命名法等,是提供了一个范式,在团队中,根据成员的习惯进行选择。
另外,经过一学期的开发,我体会到代码规范的重要性。虽然我们一开始制定了规范,但是后期时间较赶的情况下,我们有时还是没有遵循。这导致了互相查看代码的时候增加了难度。
1.2 作为学生,开发软件是不是无法避免“边翻书边动手术”?
在学期初,我认为我们的开发就是边翻书边进行的。但是现在我改变了自己的想法。“边翻书边动手术”不是一个好的开发习惯。首先它有可能会拖慢整个团队的进度,另外一方面,在“翻书”的过程中,难以对整个开发框架形成系统的认识,很有可能导致写出一堆BUG。
我觉得比较好的情形是:先进行一段时间的学习,再进行开发。在这学期的项目中,我们就是这样进行的。但是由于对前端技术不太熟悉,学习得还是不够系统,在开发过程中还是经常”边翻书边动手术“。但是,我认为这种情况不是不可避免的,推翻自己在学期初的观点。Learning By Doing更好的方法是Leaning Before Doing,在做的过程中查漏补缺。
2. 新的问题
前端如何进行测试
在本学期的团队项目中,我负责前端部分。在开发部分没有遇到较大的问题。但是,在测试阶段却有点”无从下手“。我们对于前端的测试,只停留在”多试试“这一层面。在发布以后,出现了很多不同设备之间无法适配的问题。适配问题该如何测试呢?前端是否有像后端一样的单元测试呢?前端的测试如何才能更加全面,照顾到大部分用户?这些问题还需要我继续探究。
3. 做中学
需求
- 要分析用户群体,产品的核心功能、核心竞争力。令我印象最深的是将产品的各个功能按”重要性 实现难度“两个维度排序,以实现核心功能的快速实现
设计
- 我在团队中负责前端部分,对UI设计这部分有了更多的了解
- 前端是以展示为驱动,不仅仅像我们以前做的那些控制台程序,实现功能即可。在设计的过程中要注重颜色搭配、用户交互体验等各个方面
实现
- 学习了Vue框架,对其有了初步的了解
- 对HTML的flex布局、盒式布局有了不同的尝试与体验。个人认为flex布局能够更好地适应不同的用户,用户体验更好
测试
- 对于代码的测试,要从用户的角度出发,设想用户的使用场景,不能根据编码逻辑去写单元测试,这样会丢失很多场景
发布
- 要充分宣传自己产品的“卖点”,可以选择与已有产品进行“优势比较”,突出产品的优势
- 发布要选择合适的时间,针对目标用户进行指向性的宣传
维护
- 要与用户建立能够及时沟通的渠道,比如体验反馈群或开发者邮箱
- 在修复BUG的时候不能导致项目不可用,可以选择较晚的时候快速修复
4. 心得体会
1. 个人项目
这个阶段更多的是在阅读相关材料,了解一整个学期需要学习哪些内容,对软件工程这门课进行初步的认识。
2. 结对编程
结对项目的感想已经写在这个博客里:2021S软件工程——结对项目第三阶段 - WilliamHuang - 博客园 (cnblogs.com)
结对项目是以前没有过的体验,希望在这次体验过后,在将来的“两人开发”中有更多的收获。
3. 团队项目
首先要非常感谢两位后端的大佬:邓新宇与李明昕。两位不嫌弃毫无经验的前端,在我对API有问题的时候也及时地给我反馈。并且,后端的工作量比前端大了很多,两位大佬也从未抱怨。
也要感谢PM黎昊轩,在后期开发较为紧张的时候,也投入精力帮助前端一起开发。
我也要对自己提出深刻的批评,由于前端的不给力,导致我们的项目在Alpha阶段的效果很差很差。
对于这个项目,一开始我总觉得我们缺乏竞争力,难以在竞品中脱颖而出。但是在开发的过程中,逐渐对它产生了感情,毕竟代码是自己一行一行敲出来的。特别是在Beta阶段重新设置了UI以后,界面达到了“能看”的程度,经常会跟舍友“炫耀”。
这次项目也留下了很多遗憾,比如没有办法适配很多平台,还有留下了一些用户交互体验不好的点。但是最后在展示中,比Alpha阶段效果好了许多,我也觉得那几天的通宵达旦是值得的。
这种成体系的开发过程是第一次,我想以后还会有很多这样的体验,希望自己以后在团队中不要拖后腿,在团队中能够发挥自己更大的作用。