向后看
这个作业属于哪个课程 | 2021春软件工程实践|S班 (福州大学) |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 课程回顾与个人技术总结 |
其他参考文献 | 无 |
课程回顾与总结
问题回顾
寒假作业二要求你在快速阅读《构建之法》后,列出仍然不懂的5到10个问题。现在的你对这些问题有什么新的看法吗?
你是否在这门课中获得了成长呢?也许你有一些想要抒怀的地方,那么在这次总结中写下来吧。
提问在此
选哪一种医生
随着团队开发的进行,我对寒假时自己的看法更加坚定了
“口说无凭”,只有能直接表现出来的才是自己真正的本事
案例
深有体会,不会的、办不到的一定要早点告知团队
万万不可拖到不可再拖才“认错”,这对团队开发规划以及士气都有极大的印象
做中学
请问你在项目的需求/设计/实现/测试/发布阶段(一共5个阶段)中,
每个阶段收获最大的知识或能力是什么?
需求
需求分析具体化:不能仅仅是“需要什么”,而是要更加具体地描述
比如,当什么角色在什么情况下,进行了什么操作,返回的结果是什么
设计
搭建一个可以快速响应变化的框架
实现
Java 的同步编程
测试
使用以往完成小项目从未使用过的 JUnit
发布
这一部分倒是没学到什么
不过为了发布免 JVM 版本的客户端时,简单地研究了一下 JVM 运行时需要的是什么
理解或心得
结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。
1 + 1 != 2
不管是在技术的使用上,还是团队的配合上
数量都不是越多越好的
滥用技术会导致后期开发的混乱
同一个功能安排太多的人会导致开发中的冲突
当然也不是说越少越好
技术上没有必要一把锤子钉全世界的钉子
如果团队上一个大的范围只分配一个人——那能不能完成要求取决于这个人的抗压能力(而不是他的技术)
this.ability != that.ability
每个人性格、擅长的技术以及程度都不一样
要做到任务的分配尽量使得所有人都满意
不仅仅是每个人都满意自己的任务,还要做到每个人都满意别人的任务
什么意思呢?能者多劳——不能者可不能直接划水,这会导致多劳者对分配任务的人心生不满,进而影响开发效率
个人技术总结
学习路线
准备篇中提及的计算机图形学以及 OpenGL,都已经学的差不多了
具体来讲,就是公式可以自己推导出来,所用的技术可以直接手写出来或者查一下再直接写出来
另外,因为个人课程和个人技术学习的原因,还把 C++ 有关的内容也过了一遍
团队开发
在结对、一日项目、团队项目中均负责后端开发
其中,WEB 项目使用 PHP,而桌面项目则是使用 Java
在课程之前,我使用 Java 编写的项目的重心一般都是放在前端上(单线程一把梭)
而在这次桌面开发的过程中,我对 Java 中的同步编程有了更加深刻的了解
至于开发过程中所遇到的问题,应该是在后端编写初期,对同步编程的不熟悉,在调试上所浪费的的少许时间吧
不过总体上项目开发中个人遇到的,技术上的问题还是比较少的
个人学习技术
[OpenGL] 模型与渲染—— OpenGL的特性与坑
简单介绍一下自己学习 OpenGL 时使用到的特性,以及编写代码时所遇到的问题