587
社区成员
这个作业属于哪个课程 | 软件工程-23年春季学期 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 准备工作、回首过去、立足当下、展望未来、学习路线 |
其他参考文献 | 《构建之法》、菜鸟教程 |
仓库地址:https://gitcode.net/weixin_51423223/222000417
在高考结束的一段时间内,我对自己专业选择并没有很大的倾向,对各个专业了解也比较匮乏,在收集资料后发现大部分人推崇计算机专业,认为计算机的未来比较光明,所以就选择计算机或者其相关专业,最后经过分数排名与历年录取情况的对比,选择了较大可能被录取的软工专业。
当初对于软件工程的了解不算很多,首先对软件工程的印象是计算机专业,大概知道要写程序,可能出去的工作就是程序员这样的。因为本人比较喜欢电子游戏,对游戏的想法比较多,所以会期待自己经过一段的学习能够去制作一些小游戏,当时也会希望毕业后能够进入一些游戏公司。
当初对专业的理解较为浅薄,只是希望能够掌握好所有课程,多学习几门语言。对专业学习的准备不多,曾经希望想要去制作一些小游戏,当时特地去学习了unity,但是最后也没有坚持下去,仅仅学习了一些皮毛。
个人信息 | ||
---|---|---|
昵称 | iYSKM | |
性别 | 男 | |
出生年月 | 2002.4.20 | |
邮箱 | 2264978432@qq.com | |
专业水平 | ||
编程语言 | C、C++、java、C#、php、html、css、javascript、xml | |
技术框架 | Yii框架 | |
开发软件 | Dev-C++、Eclipse、Visual Studio Code、Visual Studio、Android Studio、Matlab | |
累计代码量 | 18K+ | |
项目经历 | ||
工资管理系统 | 该项目采用C语言进行编写,是一个比较简单的管理系统,由于是刚进入学习不久,系统并不算很完善,该系统使用文件读写完成系统信息的存储。 | |
地下城小游戏 | 该项目使用C++进行编写,是首个采用面向对象方法编写的项目,涉及一小部分的算法设计,拥有比较简单的GUI界面。 | |
学生管理系统 | 该系统是使用java和mysql进行开发的一个管理系统,有数据库设计部分、程序设计部分、还有比较简约的用户界面的设计。该系统可以实现学生管理、课程管理、选课管理以及成绩管理,是一个较为完备的系统。 | |
博客系统 | 该系统基于Yii2框架进行开发,使用html、javascript、php等web语言进行开发,是web程序设计的实践内容之一。该网站的功能比较强大,同时设计了后台以及客户端的编写,有着较为清晰的逻辑。在对应的教程上也扩展了一些独特的功能,对界面做了一些美化。 |
Q1:如何区分一个好的程序员和不好的程序员呢?
A1:我认为可以从开发出来的软件、对bug的处理以及开发软件的方法来进行区分。我认为一个好的程序员,开发出来的软件应该具有比较强的健壮性,稳定性会比较高,用户的反响也会比较好,并且程序的bug也会比较少。从对bug的处理角度看,好的程序员对程序的结构了解会更加深刻,能够快速的发现并解决bug。从开发软件方法的角度看,好的程序员对程序的开发应该更具有条理性,使得程序的结构更加明了,更利于程序功能的增删改。
Q2:软件的行为和用户的期望值不一样,就一定是Bug吗?
A2:我认为是的。虽然从程序员的角度来看,并不是由于自身失误而导致的bug,但是软件的行为和用户的期望值不一样时,说明软件没有符合用户的需求。一个软件的开发是为了给用户进行服务的,如果让用户感觉别扭,就说明这个bug影响了用户对软件的使用,给用户带来了不好的体验。这样与用户期望值不一样的行为,即使符合了程序员的逻辑,但由于用户体验不佳,还是需要进行修改,所以我认为它还是属于bug范围。
Q3:花费时间越多,代表工作量越高吗?
A3:我认为是的。首先我认为工作量=时间*效率,只要效率始终为正,那么花费时间越多,工作量就会越多。可能有人会觉得,如果开发软件的过程中走了弯路,走了错路那样效率就是负的,但是我认为,开发过程中走的弯路错路其实也是工作量累计的体现,毕竟开发不可能一帆风顺,最后的版本与最初预想的可能相差很大,那么过程中做的一些尝试应该也得算作工作量内,而不是简单地认为只有最后产品内的代码才算是工作量。所以花费时间越多,效率可能不会越高,但是工作量是一定会越高的。
Q4:代码量与个人的编码能力有直接关系吗?
A4:是有一定的关系的。尤其对于初学者来说,代码量几乎与个人的编码能力成正比,在初学编写程序时,编写越多的代码,个人对语法也会更加熟悉,自然而然地也会提高个人的代码能力。而成为了一名比较熟练的程序员后,越往后精进,代码量对个人的编码能力的提升会更加不明显,此时代码量对个人编码能力的提升则体现在经验上,经验的累积则是需要大量的代码量才能提高的,在这个阶段我认为个人的思考可能会比代码量对编码能力的提高更加重要。
Q5:对于一名工程师而言,究竟应该是更“专”一点好,还是更“广”一点好呢?
A5:首先要明确工程师的定位,对不同的工程师应该是有不同的答案。对于只要负责某个领域的工程师,那肯定是更“专”一点好,因为是对该领域负责,那么你该方面的学识越精进,那么对这个领域问题的解决就会更加得得心应手,在该领域的建树也会更深。而对于一些总工程师来说,他们可能要负责总体软件的设计,需要统筹兼顾全局,这就要求他需要更“广”一点,对各个部分都要有一定的了解,这样才能协调好各个部分的工作,提高整个团队的效率。
目前对于未来职业没有很明确的想法,所以打算先考研,先提升自己,开拓自身视野,让自己能够有更多的选择,最后再确定自己的职业方向
在之前两年半的学习当中,我们更多是学习一门语言或者计算机的相关技术,所完成的项目也是较小型的,且大多数项目都是由个人完成的。我认为软件工程实践是要让我们去模拟一个开发项目的过程,让我们积攒一些开发经验。我期望在实践课程中学习到软件开发的一步步的过程以及一些软件开发方法,还有团队协作共同完成项目的一些方法。