686
社区成员




这个作业属于哪个课程 | 2023春季软件工程实践-W班(福州大学) |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 学习markdown语法、总结过去、制定学习计划、规划未来、思考《构建之法》 |
其他参考文献 | markdown教程-菜鸟教程、Git入门-Gitcode、《构建之法》 |
https://gitcode.net/Chyu__/markdown-course
互联网行业飞速发展的环境下,IT相关专业无疑是我高中毕业那年最热门的专业之一(甚至没有之一)。本身我对自己未来想要从事的职业也没有什么特别的理想,我只希望能够有比较好的薪资待遇,加上我有着比较内向、不喜欢与太多人打交道的性格,我认为靠技术能力立足的行业会更适合我,而IT类专业刚好符合这一切要求
主要因为码农薪资可以说是打工人天花板了。在我一位从事软件开发工作的亲戚的介绍下,我将志愿的选择范围缩小到了计算机科学与技术和软件工程这两个专业上,我又了解到计算机科学专业对数学能力的要求更高,正好我是一个相当缺乏数学天赋的人,于是我最后选择了软件工程这个专业。
大学之前我对编程毫无了解,在我当时的想象中学习了软件工程这个专业,我就会成为那种很牛的、很高级的“玩电脑的”——码农,每天抱着电脑劈里啪啦就是敲,手指在键盘上飞舞,黑底的屏幕上彩色字母一行行闪现,动不动就做个网站写个APP和游戏给别人。我期待学习了这个专业,我就能成为一名合格的程序员,拥有较强的编程实践能力,能够独立开发各种软件,进入理想的公司,一毕业就拿到高额薪资。
![]()
当时希望自己能够好好学习编程语言,熟练掌握并精通其中的一两种(就是当时立下的flag)。我的数学真的很糟糕,所以在入学前我就对我的逻辑思维能力感到担忧,为了体验编程的感觉,我在高三毕业的暑假在慕课和翁恺老师学习起C语言。同时在暑假对软件工程的就业方向(前后端、测试等岗位)进行了一些了解。入学后加入了服务外包实验室也参加了一些比赛。曾经我很希望成为一名前端工程师,可惜现在仍然离目标甚远。
昵称 | Chyu | |
出生年月 | 2002.04 | |
籍贯 | 福建三明 | |
邮箱 | 1463004020@qq.com | |
兴趣爱好 | 阅读、听歌、看电影、美食 | |
特长 | 钢琴、绘画、游泳 |
成果和获奖经历 | ||
---|---|---|
2020-2021学年 | 无 | |
2021-2022学年 |
| 院级 |
| 省级 | |
| 国家级 | |
2022-2023学年 |
| 国家级 |
专业水平 | ||
---|---|---|
掌握的编程语言 | C/C++、Java、C#、XML、php、HTML、CSS、JavaScript | |
技术框架 | Yii2.0 | |
开发软件 | Visual Studio Code、Visual Studio、Android Studio、IntelliJ IDEA、Dev C++ | |
累计代码量 | 20k+行 |
项目经历 | |
---|---|
竹蜻蜓二手交易网站 |
|
旅游管理系统 |
|
通古识汉APP |
|
个人博客系统 |
|
A1:在我看来,开源协议的设置是为了解决开源软件的版权问题,以及在开放源代码软件发布的过程中,保护开发者和使用者的利益。开源协议的设置可以有效的保护开源软件的知识产权,以及避免开源软件被滥用、恶意改动等问题。同时,开源协议也可以为开放源代码软件的使用者提供一定的保障,规定他们可以用哪种方式来使用开源软件,以及在使用过程中所产生的一些衍生作品的版权归属。
A2:通过我个人的经历来说,技能和解决问题都是非常重要的,没有哪一个可以说是更重要的。技能是指掌握某种能力,它可以帮助人们解决问题——解决问题也是技能的最终目的,只有具备了技能,才能够有效地解决问题。所以技能是解决问题的基础,当我想解决一个算法问题,我要先具备一定的技能,比如C/C++之类的编程语言、数据结构的知识等,只有具备了这些技能,才能够满足解决这个算法题的前提。
解决问题也是技能的最终目的,当我具备了编程语言基础、数据结构的知识,但我却想不到方法来正确使用这些技能解决算法问题,这样我的技能就不能发挥出应有的效果,也就失去了它的价值。
总之,技能和解决问题都是非常重要的,两者相辅相成,互为补充,才能发挥出最大的效果。
Q3:良性bug是否该被修复?
A3:我认为这个问题应该根据具体情况进行分析。
一般来说,良性bug应该被修复,因为它们可能会影响到用户体验。用户可能会因为良性bug而感到不满,甚至放弃使用该产品。另外,你无法保证良性bug不会导致更严重的错误发生,而且修复良性bug也可以提高程序的可维护性和可扩展性,因此也应该修复这些bug。
然而有时候,良性bug可能不需要修复,比如当开发者认为修复良性bug会花费大量时间和资源,而且不会带来太多实质性的改进时,就可以选择不修复。
总的来说,良性bug是否该被修复,应取决于开发者和PM的判断。
A4:在进行需求分析时,选择最好还是最合适,首先要明确的是自己的现有的资源和能力,想要达到的目标,以及最终要实现的结果。
首先,“最好”是一个很宽泛的概念,它涵盖了最佳的结果,最优的状态,最完美的实现等等,它更多是一种抽象的概念,而且很难定义,可以说是一种最高的要求。
“最合适”则是一个更具体的概念,它指的是在满足最基本要求的前提下,能够满足某种特定的需求,并且在技术、时间、财力等方面最能体现经济效益的结果。
因此,在进行需求分析时,要根据自己的目标和最终要实现的结果,来确定是要追求最好,还是最合适。如果并不是那么在乎时间精力的花费,并且团队有着做出最好产品的共同追求,那么可以选择实现最好的需求分析,因此需要进行更多的分析,把握技术上的最佳实现方案,以达到最完美的效果;如果是要追求最合适,那么在需求分析过程中就要更加详细地调查目标用户的需求,综合考虑到时间和财力等因素,以最经济的方式满足需求。
A5:我也作为过一个团队的管理者,所以对这个问题有过一些思考。
首先,团队管理者应该把握好团队成员间的学习能力差异,尽量减少不同能力程度的成员在一个任务的比例。因为这样可以避免强者和弱者之间的摩擦,让弱者有更多的学习机会,从而提高团队的整体效率。同时团队管理者应该制定合理的团队任务分配方案,可以根据每个成员的能力程度来分配任务,让每个成员都有机会发挥自己的优势,从而提高团队的整体效率。其次,团队管理者应该在允许的情况下尽量给予每个成员充足的学习时间,让他们有机会更好地掌握新的知识和技能,从而提高团队的整体效率。最后,团队管理者应该提供给每个成员足够的帮助和关心,让他们能够对自己保持自信,更好地学习和掌握新的知识和技能,从而提高团队的整体效率。
在我的人生计划中,一定要读到硕士,再加上这两年互联网行业的就业形势已经没有之前那么乐观,所以我也希望通过读研来提高自己的能力以及就业竞争力。如果我在研究生结束后仍然有继续科研的热情可以考虑读博,之后去高校任教(可能性不大哈哈);在研究生阶段我会多做项目,并争取各种企业的实习机会来提高我的编程实践能力,如果硕士毕业后我没有继续深造的打算,我希望能够进入理想的大厂成为码农,努力工作到三十左右再考虑考公考编。
在我看来,软件工程实践是我本科阶段最核心的一门课程了,我相信这门课一定是挑战与机遇并存、收获与付出成正比的课程。在课程进行的过程中,我肯定需要不断学习新技术并去实践它们,我一定会不断遇见问题、不断写出bug并解决它们,我会感到挫败也会收获成就感,对于teamwork也会有更深的体验。同时我对于UI/UX设计和产品方面也已经有一些经验,我希望我的经验能够给我团队的项目带来良好的用户体验。我希望通过这门课,我能够养成良好的编程思维,提高我的编程实践能力,真正地体会到一名程序员的工作习惯,掌握前端开发技术,作为一名开发人员参与到软件开发的完整过程中,开发出属于自己的项目,为未来就业打下良好的基础。希望老师和助教能够对我们进行学习路线的指引和软件设计规范的指导。
通过我个人的经历来说,技能和解决问题都是非常重要的,没有哪一个可以说是更重要的。技能是指掌握某种能力,它可以帮助人们解决问题——解决问题也是技能的最终目的,只有具备了技能,才能够有效地解决问题。所以技能是解决问题的基础,当我想解决一个算法问题,我要先具备一定的技能,比如C/C++之类的编程语言、数据结构的知识等,只有具备了这些技能,才能够满足解决这个算法题的前提。
在文章中说的 “解决问题” 是指 “解决阻碍训练技能的各种小问题”,例如,“如何安装 MySQL”, 搞不定这些小问题,从而导致 -- 从入门到放弃的悲剧。
介绍的很清晰,思路明确,赞