这个作业属于哪个课程 | 软件工程实践-2023学年-W班 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 学习markdown语法,阅读《构建之法》,学习git的使用,制作思维导图、规划学习路线 |
其他参考文献 | markdown教程 、Git学习、Xmind绘制思维导图教程 |
目录
1.准备工作
1.1仓库地址
1.2截图
2.回首过去
2.1 当初你为什么选择软件工程这个专业?
在大学以前就对计算机方面的专业感兴趣,想以后学习计算机相关的专业。同时也了解到计算机就业前景较好,是热门学科,同时软件工程薪资也高。然后我就报了软件工程专业,并且被顺利录取。
2.2 当初对软件工程这个专业的期待和想象是什么?
学习了软件工程后,会对电脑相关的问题都很精通,能开发出功能很强大的软件。以及学了这个专业后,可以在一些感兴趣的方面如:游戏开发,mod制作等有所帮助。
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
当初希望自己每天都敲一些代码,或是算法或是一些小游戏之类的。在大二的时候想学习制作游戏,立过几个flag,例如:一定要制作一款自己的小游戏,或是制作mmd视频等,然后只看了一段时间的unity和mmd教程,但最终没能坚持下来。
3.立足当下
3.1个人展示
个人简历 | 内容 |
---|---|
姓名 | 卢子铭 |
性别 | 男 |
相片 | ![]() |
爱好 | 动漫,游戏,跑步 |
特长 | 吃饭 |
3.2能力水平
专业水平 | 内容 |
---|---|
掌握的编程语言 | c,c++,c#,java,php,JavaScript,html,css |
技术框架 | Yii框架 |
开发软件 | Dev-C++、Visual Studio Code、Eclipse、Visual Studio、unity引擎 |
累积代码量 | 20k+ |
开发项目 | 基于c/c++和MySQL的学生管理系统、 基于Java和MySQL的图书管理系统、 基于Yii2.0框架的博客系统 基于unity引擎的小游戏愤怒的小鸟 |
学生管理系统可以对学生进行简单的增删改查和显示 图书管理系统可以对书籍进行增删改查、模糊查询并显示出来 博客系统实现了前端显示和后台文章管理、评论管理、附件管理、权限管理、dashboard功能 愤怒的小鸟小游戏模仿原版游戏实现了简单的碰撞判定、图片状态变化和胜利判定、制作了两个简单关卡 |
4.展望未来
4.1阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。
我认为区分一个程序员的好坏可以从多个方面入手。
首先是个人的编程能力,编程能力的高低代表着程序员的基本功是否扎实,好的基本功是好程序员的其中一环。
第二个是程序员的编程风格是否具备可读性与美观。有良好的编程风格有助于别人更好的读懂代码,同时增强可读性也在一定程度上增强了代码的可维护性。
第三个是团队协作能力。拥有良好的团队协作能力也是区分是否是好程序员的重要一环。
同时好的程序员也应是会与时俱进的,不断提升自己,学习新技术。
Q2:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
我认为不一定是bug,虽然软件的行为和用户的期望值不一样可能是bug导致的,但是除了bug之外,还可能是功能不够完善导致与用户的期望不一致。
Q3:如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?
第一,要做到经常写代码,经常看代码,多练,做到熟能生巧。第二,保持终身学习的观念。活到老学到老,这样才能在不断发展的时代洪流中与时俱进。第三,多关注新技术的消息,多学习新技术。
我认为上课还是需要认真听老师讲课的。老师在课堂上讲到的一些案例和解释能帮助我们少走弯路,更快的入门和理解课程。如果是自己琢磨的话有可能多走一些弯路,得不偿失,能在课堂上掌握的尽量就在课堂上掌握了。在课外的时间可以用来更加深入的了解课程或者用来复习课程。
Q5:软件开发是年轻人的饭碗,吃的是青春饭?那年纪大的程序员经验丰富但是快速学习能力拼不过年轻程序员的时候该怎么办呢?
软件开发需要体力以及创新能力,年轻程序员拥有着更充沛的体力以及创新思路,所以说是吃青春饭也是正确的。但年纪大的程序员拥有着更丰富的工作经验、项目经验,丰富的经验能使得程序员对行业的运行流程更为清晰、对开发过程有更深的了解。因此我认为年纪大的经验丰富的程序员可以考虑进入管理层,进入管理岗位,带领年轻程序员进行项目开发。
4.2你未来的职业规划是什么?
多接触一些后端开发的软件工具及项目,多学习后端开发的知识,增强自身求职竞争力。
4.3对于软件工程实践课程,你有什么理解和期望?
我希望在软件工程实践课程中更多的了解开发软件的流程,积累软件开发的经验。同时希望通过软件工程实践来增强自己的团队协作能力并进一步提高自身的编程技术水平。