寒假作业1/2

这个作业属于哪个课程 2021春软件工程实践|W班 (福州大学)
这个作业要求在哪里 寒假作业1/2
这个作业的目标 利用寒假时间,建立属于自己的博客,学习makedown的基础内容,并定下本课程的学习目标
其他参考文献

回首过去

当初你为什么选择软件工程这个专业?

我八岁的时候家里购入了第一台电脑,从那以后我的生活就和电脑以及软件分离不开,高中时期对编程萌发了兴趣,在迎来高考之前就已经认定要报考计算机或者软件工程,我认为生活中的一切都离不开计算机和软件,因此报考计算机和软件相关的专业,学习相关知识和技能能够使我在以后的人生中受益,软件工程这样一个专业是符合我理想和兴趣以及当前时代潮流的一个专业,因此我选择报了软件工程。

当初对软件工程这个专业的期待和想象是什么?

一开始脑中应该还是相当空白,并没有什么想象,因为软件这个概念实在太宽泛了,手机APP、电脑上的各种功能软件,百度云、爱奇艺或者各种游戏,都是软件。在当时我其实并不明白到底会学习哪些内容,由于涉及的内容过于宽泛,所以无法想象。期待的话当然还是有的,作为一个男生,我当时最大的期待当然是我读了这个专业以后能不能学会怎么做游戏呢?事实上,直到大学三年级的现在,我也不明白例如最终幻想14等大型网络游戏到底是如何制作的,画面、人物和场景模型、游戏角色根据玩家指令做出多样的行动,以及BOSS、机制、战斗AI等陈述不完的各种内容到底是如何编写和制作,如何组合在一起运行的呢,至今仍旧保留着这个疑问。至于单纯的功能性手机APP是如何编写和运行的,在上过移动应用开发等课程后已经有了初步的理解了。

当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?

当初的方案是根据课程的步伐按部就班的学习各种各样的相关知识,就像每一年我们都在学习不同的编程语言那样。正如上面陈述的,由于软件工程涉及的范围实在太过宽广,所以对于当时还是一张白纸的自己,我认为学校安排的课程能够合理且一步一步地引导我学习的方向和步伐,在课程进行到一定程度后我再选择某个方向加深学习,这就是最初的计划。

立足当下

个人简历

个人简历
昵称 白石Re
籍贯 福建泉州
出生日期 1999年12月3日
学校 福州大学
兴趣爱好 电影 游戏 用决斗带来笑容

当前值

当前值
专业水平
掌握的编程语言 C、C++、C#、HTML、CSS、PHP、JAVA、XML
掌握的编程软件 Android Studio、IntelliJ IDEA、Visual Studio
掌握的技术框架 Yii2.0
项目经历
基于Yii2.0框架的个人博客
项目简介 设计一个博客系统,前台可以查看文章、评论、留言、查看个人主页,后台可以发表文章、审核评论
主要负责部分 前后端开发
应用到的主要相关技术 Yii2.0框架、MySQL数据库,PHP,CSS,JavaScript等
图书管理系统
项目简介 设计通常意义上的图书管理系统,涉及用户和图书管理员的注册、登录,图书的信息以及状态于数据库中的登记,借书还书等功能的实现
主要负责部分 用户端的设计和开发,包括用户的注册、登录、个人信息查询,借书还书功能等
应用到的主要相关技术 Java,MySQL数据库

展望未来

阅读《构建之法》,并提出3个及以上的问题。

1.《构建之法》中提到一个很有趣的例子:一个程序员入职后认为之前程序员写的代码看不懂、无法维护,于是决定重写。后来被老员工告知这份代码就是去年新入职的程序员受不了之前的代码而重新编写的。这也涉及了我一直以来的疑问,事实上,在三年的学习生活中,我也遇到这样一个现象,由于代码的排版和编写习惯、变量和函数的取名习惯等等诸多原因,比起自己写的代码,要看懂他人写的代码要花费更多的时间和精力,即使对方的代码符合规范也是如此,在学习中我们最多使用数百行的代码,要看懂他人的这些代码已经非常费力,而在实际项目中,代码的行数想必以万为基准,实际工作中程序员接替前人的代码进行维护和添加或者修改功能的时候到底是如何顺利理解和继承前人代码的呢,只靠单薄的注释能够完成以万为单位的代码交接吗?

2.《构建之法》中提到,“很少有人能够在学校中掌握这么多知识后才毕业找工作,随后把技术应用在实践中。”事实上,即使是已经大三的现在,我认为我们学习的内容距离真正在市场上使用的软件项目差距是天差地别的级别,还有一年我们就将毕业,但是以目前的状态,我认为只依靠目前课程教授的内容,即使进入工作岗位我应该也无法发挥非常大的价值。从中衍生出的我的问题是:“毕业后,如果我们试图竞争某个工作岗位时,到底应该具备何种程度的能力?”以及,“即使成功拿到某个工作岗位,在入职后面临所学知识和实际项目的复杂程度天差地别的状况,我们会被分配怎样程度的任务,需要做哪些学习,需要花费多长的时间才能完成从持有学校教授的基础知识到可以进行在市场上流通的实际项目的维护和开发这样一个跳跃呢?”

3.《构建之法》中提到的“结对编程”的概念让我很感兴趣,如书中所说:“学校一直教导我们编程是一个人的事情”,正是如此,即使是团队项目一般我们也会分成数个模块,在协调好模块之间的接口的基础上,再将每个模块都各自交付给某一个人完成,最后组合成完整的程序,而书中则提到了结对编程的诸多好处。由此我提出的问题是:“结对编程只是一个听上去美好的概念还是一个具备实用性而业界普遍使用的人员分配方式?”。书中以跳交谊舞为例详细的阐述了结对编程中搭档的各个磨合阶段,说明搭档需要时间进行磨合。因此,在上个问题中:“如果答案是后者,这样绑定某两个程序员会不会使得人员管理出现问题?如果某一个长时间进行结对编程的组合,出现其中一个程序员被解职等情况,另一个程序员再重新与其他人进行结对编程搭档会不会适应困难?”

你未来的职业规划是什么?

为了寻求更好的薪资,目前的打算是考研,在那之后,我比较想从事Android软件工程师,在智能手机的时代,智能手机作为人们随身携带的个人终端,可以说是潜力无限,而在其中,Android的市场占比明显高于IOS系统,所以我想从事Android软件工程师等相关的职业。

对于软件工程实践课程,你有什么理解和期望?

以往的各种实践课程无非是利用本课程学习的编程语言或者框架来编写老师要求的小项目,那可能是一个精简版的某种连接网络或者数据库的APP或者利用YII2.0框架写的一个个人博客之类的。而对于冠以“软件工程”之名的课程的实践内容,虽说“实践”课程必然是通过团队或者个人来完成某个规定项目,但是如我上面所说,由于在我理解中的“软件工程”实在是一个过于宽泛的概念,导致我无法对项目的大小和类型加以猜测,毕竟以前做过的所有java、android、web等各种实践都属于软件工程的范畴。在“软件工程”这样一门课程实践中,我期待或许能够将以往学习到的一切内容都重新理解和学习,巩固或者学到新的内容。

思维导图和学习路线

思维导图

学习路线

posted @ 2021-02-08 03:20  白石Re  阅读(121)  评论(1编辑  收藏  举报