这个作业属于哪个课程 | 班级链接 |
---|---|
这个作业要求在哪里 | 作业要求的链接 |
这个作业的目标 | 准备工作、回首过去、展望未来、学习路线 |
其他参考文献 | 《构建之法》 |
一、准备工作
创建git库并使用git上传一段代码:
仓库地址:https://gitcode.net/m0_70770115/222100425
上传过程截图:
二、回首过去
问题2.1:当初你为什么选择软件工程这个专业?
高中的时候在学校学过一点点VB编程,感觉学习编程的话对自己没什么太大压力。并且当时填写志愿的时候,计算机专业是热门专业,薪资高好就业。主要是奔着毕业后能有高薪工作这个目的来选这个专业的。
问题2.2:当初对软件工程这个专业的期待和想象是什么?
对这个专业的期待就是能学到很酷的东西,毕竟当时认为计算机专业的东西都是高新科技技术之类的。当初对这个专业的想象就是以为毕业完之后就是去当作程序员,在学校里学习的就是怎么做一名合格的程序员,但学习了两年半后发现其实并不是这样的。
问题2.3:当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
当初没有什么特别大的学习动力,在专业的学习上只是想着把自己该学的学了(老师布置的,学校要求的),主要学习怎么在以后好好生活(即就业后,怎么做一名快乐的程序员)。曾经做的准备就只有两件事:第一件就是玩了好多游戏,所以对游戏编程有很大的兴趣;第二件就是:看了很多游戏相关的剖析视频,有技术层面的剖析也有主旨生活上的剖析。所以我期望能在大学毕业前开发出一款属于自己的,很酷的游戏。我准备开发的游戏里的游戏理念和Jonathan Blow的理念和相似,因为我在了解他的游戏理念后很受震撼,想开发一款能够给某一部分人深深的震撼的游戏,就像Jonathan Blow的Braid游戏一样(下面是游戏的截图)。
三、立足当下
四、展望未来
问题4.1:阅读构建之法社区中对前人的问题的思考
4.1.1在项目或程序比较复杂的情况下,如何高效率的进行程序理解?
思考:我认为应该分为两部分讨论,在项目建设时:应该多多添加注释并且使用简单直观的逻辑来编写,这样就在源头上能够高效的方便后人理解;另一部分,在接手了一个复杂的项目后,最好能够找到项目的开发者讨论其开发思路,我认为这样会有事半功倍的效果。
4.1.2作者用商用民航发动机来对比普通的商用软件,是否合适?
思考:我的观点和作者相反,我觉得可以用商用民航发动机来对比普通商用软件。在本书中,作者用这两者的对比其实是想说明硬件(发动机)和软件的不同之处,即硬件需要保证其可靠性,但是软件缺需要不断的迭代才能越来越完整,这个对比我觉得合理。
4.1.3在一个被认定为“足够好”的软件发布后,得到的用户反馈中,哪些是有用的?什么时候才能将这个软件优化到相对稳定的版本?
思考:我觉得这是个很好的问题,当软件越发庞大,用户群体越来越多、越来越广泛时,用户的反馈该如何采纳真的是一个很值得思考的问题。我认为,应该抓住软件产品本身的定位,从自身原本的定位来甄别用户的反馈,因为不忘初心是一个产品伟大的前提。
4.1.4如何区分一个好的程序员和不好的程序员呢?
思考:这是个让我很难得出结果的问题,我认为评价一个程序员好或者不好的指标有非常多,比如说编程能力、交流能力、工作效率等,并且不同的企业的不同时期这些指标的权重都不一样;因此我认为没有一个绝对好的或者绝对坏的程序员,我们只能说这个程序员在某段时期是做的好的或者做得不好的。
4.1.5程序员在哪些地方是必须依赖一个额外的用户体验设计师的?
思考:我认为术业有专攻,现代社会因为有了分工因此生产力大大提高,用户体验部分在实际的编程中是很难被程序员感知的,我觉得应该在直面用户部分(前端、交互)中程序员需要依赖一个用户体验设计师来辅助设计,毕竟软件是为了人而服务的,用户的体验感是十分重要的。
问题4.2:你未来的职业规划是什么?
对于我未来的规划,我现在还没有特别清晰,我希望未来能有更多的能够留给自己的实践。我更倾向于考研,因为我认为读研时能留给自己的时间更多,如果考虑就业的话我更希望自己能够找到一个比较少人涉足的计算机领域,在里面做出自己的东西。
问题4.3:对于软件工程实践课程,你有什么理解和期望?
因为在前几年的本科阶段我自己做得项目不算多,我认为软件工程实践这门课就是带动我们组成一个个小团体,在本科阶段真正的能做出一个大项目,能够整合我们这两年半里学到的前后端知识、编程知识等等专业知识,从中提高自身的整体能力,算是对大学三年的知识做一个实践总结吧。如果可以的话我在这门课程中最想学习的是Unity编程,并在大学毕业前完成自己的第一部游戏。希望老师能够和蔼可亲,友好高效的解决我们的问题。
五、学习路线
问题5.1:思维导图
因为Unity技术我学习的目的单纯的就是为了制作游戏,所以便没有绘制其分支内容。思维导图如下: