这个作业属于哪个课程 | 福州大学-202302软件工程实践 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 学习markdown语法、阅读《构建之法》、回首过去、立足当下、展望未来、学习路线 |
其他参考文献 | Markdown教程、Git入门、Xmind导图教程 |
文章目录
1. 准备工作
仓库地址:我的仓库
2. 回首过去
2.1 当初你为什么选择软件工程这个专业
在高考结束后,在跟家长老师讨论之后,我决定选择计算机方面的专业,在了解与计算机有关的专业后,我决定选择软件工程这门注重实践工程的专业。
2.2 当初对软件工程这个专业的期待和想象是什么?
在上大学之前对电脑了解很少,没有接触过编程,一直觉得编程是一个很神奇的东西,仅仅通过几行代码,就可以做出很多东西。同时也期待着自己能通过大学的学习,开发出便利的软件或网站服务别人,以及通过学习这门专业,在毕业后取得较高的薪资,实现财富自由。
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
在进入大学之前,我一直以为跟随课堂教学就能学习很多开发所需的知识,但是随着课程的推进,我逐渐意识到,学校里教的东西都只是基础,是用来引导你的,更多的还要靠自学,去提高自己的技术力。
为了更好的提升自己的技术力,我会观看一些线上课程,来补充课堂上学不到的知识。
3. 立足当下
个人简历 | ||
---|---|---|
![]() | 昵称 | ok |
出生年月 | 2003年6月 | |
籍贯 | 福建福州 | |
邮箱 | 1547202814@qq.com | |
联系方式 | 198 xxxx xxxx | |
兴趣爱好 | 看电影、听歌 | |
当前水平 | ||
成果和获奖经历 | 福州大学2023-2024学年第一学期精神文明建设奖奖学金 | |
专业水平 | 掌握的编程语言 | C语言、C++、Java、JavaScript、PHP |
技术框架 | Yii2.0 | |
开发软件 | IntelliJ IDEA、Visual Studio Code、Visual Studio | |
累计代码量 | 10k+ | |
项目经历 | 网络五子棋 | 在该项目中,担任主要开发者,负责设计和实现基于Java Socket技术的多用户在线五子棋对战。该项目分为服务器端和客户端,服务器端主要接受并记录棋子位置,以及将其转发给玩家。客户端运用Java自带的GUI技术设计了对战页面,供玩家使用。 |
博客系统 | 在个人项目“博客系统”中,独立使用Yii2.0框架来实现一个功能基本完整的博客平台。该项目旨在模拟网上现有的博客系统,建立一个功能丰富的博客系统,包括文章发布、评论发布、用户管理等核心功能。该项目使用HTML、CSS、JavaScript开发前端,后端则是使用了PHP,最终实现了文章列表展示、搜索功能和标签云分类,以及一个直观的后台管理界面。 |
4. 展望未来
4.1 阅读《构建之法》以及构建之法社区中前人提出的问题后针对部分问题的思考
A1:我认为区分一个好的程序员和不好的程序员可能涉及多个方面。
1.编程技能:好的程序员通常具有扎实的编程技能,能够熟练运用多种编程语言和工具来解决问题。他们编写的代码通常具有良好的结构、可读性和可维护性。此外,他们可能还具备算法和数据结构方面的深入知识。
2.解决问题的能力:好的程序员能够迅速而有效地解决问题,他们善于分析和理解复杂的系统,并能够提出创造性的解决方案。
3.沟通与团队合作:好的程序员通常具有良好的沟通能力,能够清晰地表达自己的想法,并且善于与团队成员合作。他们能够理解业务需求,并将其转化为可行的技术方案。
4.代码质量:好的程序员编写的代码通常具有良好的质量,包括良好的注释、适当的文档、合适的错误处理和测试覆盖。
A2:在大学好好学习,就是学生的本分。大学三年,虽然老师基本都是所谓“ppt授课”的,但还是会最大可能的保证我们都能听懂,我也碰到过好几个讲课很细致的老师,听了他们的课真的会比自己学更有用。在大学课堂上,你可能会看到好多人都在忙自己的事,但这不是你不听课的理由,有些人上课不听是因为自己已经提前学过并且做了很多练习的,不能有从众心理,毕竟做什么有人领路都是好的,听课也是如此,你可以通过听课来了解很多知识,对于老师没有细讲的部分,可以课下自己学习,来补充知识。
Q3: 程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?
A3:得看这个功能的价值了。如果满足小部分人的需求或者为软件添加某些功能可以带来商业价值,比如增加用户群体、提高用户满意度、增加收入等,那么这样的举措可能是值得的。其次,还得关注技术上的可行性。有时候,即使是为了少数用户的需求,也可能需要耗费大量的时间和资源来实现,这时就需要权衡成本和收益。另外,如果这个软件或者功能如果确实会对整体用户体验产生积极影响,那就是需要添加或完成的。
Q4:如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?
A4:软件工程领域的技术在不断发展,新的编程语言、框架、工具和技术不断涌现。作为开发者,要保持学习的状态,了解最新的技术趋势,不断提升自己的技术能力。除了技术能力,软件开发者还需要具备良好的沟通能力、团队合作能力、问题解决能力等软技能。这些技能同样重要,可以通过阅读相关书籍、参加培训课程等方式进行提升。此外,要积极地在实际项目中应用新的技术和方法,不断积累项目经验,可以让你更好地理解和掌握新的技术。总的来说,成为一个永不落伍的开发者需要保持学习的状态,不断积累新的知识和经验,适应行业的变化和发展。同时,要注重全面发展,包括技术能力和软技能的提升。
Q5:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
A5:不一定。软件的行为和用户的期望值不一致并不一定意味着存在 Bug。我觉得Bug应该是偏向于开放过程中逻辑出错之类的问题,软件的行为和用户的期望值不一致这取决于很多原因,可能是因为二者沟通没有沟通好导致的,也可能是开发组开发过程中走偏了,也可能是本身用户的期望值就不合理等等。Bug这个词应该还是更关注于逻辑上的问题等等,这种实际不一致往往还是双方沟通不到位所导致的
4.2 未来的职业规划
目前的规划是就业,在大三下到大四这一段时间都会注重于扩展自己的技术栈。目前还是偏重于后端开发师,未来也会持续学习这方面的知识,积极参与一些开源项目,积累项目经验。同时也会继续关注行业动态,跟进新技术。
4.3 对于软件工程实践课程的理解和期望
我希望这门课能将理论和实践牢牢结合在一起,帮助我们培养学生在真实项目中应用软件工程技术的能力。同时我希望能在这门课中学习到一些目前的新技术,拓宽我们的技术栈。此外,这门课程还可以培养我们的团队合作能力,一直以来各种课设基本都是独立完成,很少有跟别人合作的时候,希望通过本次课程,能培养自己的团队合作能力,沟通交流能力等等,为未来工作打下基础。