寒假作业1/2
作业基本信息
这个作业属于哪个课程 | 2021春软件工程实践|W班 |
---|---|
这个作业要求在哪里 | 寒假作业1/2 |
这个作业的目标 | 博客排版、了解过去、制作简历、阅读《构建之法》、规划未来、学习路线 |
其他参考文献 | 无 |
1、回首过去
1.1当初你为什么选择软件工程这个专业?
选择软件工程是因为高中的时候参加过机器人的比赛,初步接触了编程,也没有特别讨厌。高考之后选志愿的时候,觉得计算机专业毕业后薪水较高,就业前景比较好,在家人支持下选了这个专业。没有选计算机专业是因为当时没有估计好录取线,把计算机放在软件工程的后面了😥。
You know, Captain, I look back on my career and ask myself: Why? I've committed robbery, I've executed an assassination, I've supported or suppressed a rebellion, late at night, early in the morning, or when I'm tired; Whether you're eating salmon caviar, drinking navy red wine, or taking vitamin D supplements over and over again, you're certainly asking yourself the same question, right? And you always give the same answer: money!
1.2当初对软件工程这个专业的期待和想象是什么?
当初选择软件工程,期待能够掌握到扎实的编程知识,能独当一面,独立地开发软件,用一行一行的代码写出软件,获得成就感。当初想象的是这个专业出来的打字一定很快😂,想做什么样的软件,什么功能的软件三下五除二就能做出来,现在看来这需要有很深的功底和学习能力才能做得到😵。
1.3当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
-
最初以为大学能有更多的空闲时间,会有更多自学的机会,大学里面主要靠自学,或者结伴学习,上课更多的是提供指导、实践的机会。
-
曾经在高考后的那个暑假下载苹果的Playground App学过编程😆,到各大网站了解过这个专业的信息。
-
🚩想到985读研,想去大厂搬砖。
2、立足当下
简历如下:
个人展示
- Tars
- 福州大学软件工程专业
- 兴趣爱好:电影、数码、羽毛球
- 特长:学习
- 技术博客:https://www.cnblogs.com/tarsss/
- Github:https://github.com/TarsSE
- QQ:123456789
- 邮箱:example@example.com
现状
成果和获奖经历
- 2019.11 福州大学第十九届高等数学竞赛理工组三等奖
专业水平
- 掌握的编程语言 :Java、Kotlin、C、C++、C#、HTML、CSS、JavaScript、PHP
- 技术框架:Android开发、Yii 2.0
- 开发软件:Visual Studio Code、Visual Studio、IntelliJ IDEA、PhpStorm、Android Studio、Navicat
- 累计代码量:14k
项目经历
- 大学生就业信息获取平台
- 角色和贡献:负责安卓端App构建
- 成果:基本实现按类别展示、搜索、推送感兴趣的招聘信息和登录注册等功能
- 收获:学会了GitHub的基本用法,如何与后端合作,以及团队之间的交流和协作
- 大学生在校服务平台
- 角色与贡献:合作构建安卓端App
- 成果:App有较好的视觉效果,提供拼车、快递代取、失物招领等功能
- 收获:收获了合作开发App的经验,GitHub使用进一步深入,学习了许多安卓开发的技巧
3、展望未来
3.1 阅读《构建之法》,并提出3个及以上的问题。
1.《构建之法》2.1.2 好的单元测试的标准 中
在一些极限编程的方法中,是可以考虑让别人来做单元测试的,但是,程序的作者还是要对单元测试负责。最好是在设计的时候就写好单元测试,这样单元测试就能体现API的语义,如果没有单元测试,语义的准确性就不能得到保障,以后会产生歧义。
程序的作者对自己程序的单元测试负责,这样看来写程序变得没那么单纯了。既然如此,那软件测试人员的职责是哪些呢?是否意味着单元测试不归软件测试人员管理?
想法:从另一个助教那里得知,单元测试不归软件测试人员管理。码农的工作好多哦😂。
2.《构建之法》4.2.9 注释 中
另外,注释(包括所有源代码)应该只用ASCII字符,不要用中文或其他特殊字符,否则会极大地影响程序的可移植性。
如果写代码和阅读代码的都是中国人,不用中文似乎不太合理,而且水平所限,部分人比较抵触用英文写注释。何况像我这样的懒人,中文注释都懒得写,更别说英文的了。知乎类似问题中有人回答,认为使用英文注释会让程序员耗费更多的精力在注释上,影响编程的思路😂。在编写和阅读代码的都是中国人的项目中,就像我们现在接触的这些项目,不用中文写注释是否必要?
想法:网络上关于是否用中文写注释的讨论还是比较激烈的。个人认为这个问题没有定论,只能根据对项目的利弊来权衡。翻阅了几个网上的回答,总结以下几点:
- 使用中文注释容易乱码
- 闭源项目,且成员都使用中文,最好用中文;开源项目最好用英文
- 英文极差,老老实实写中文😭
- 注释写错,不如不写
- 写注释的目的是让不清楚代码的人清楚代码,要让人看的舒服
3.阅读《构建之法》第九章 项目经理 后有些疑问,作者好像没有提及PM在实际工作中的如何设置的情况
- 多大的团队/项目需要有PM?
- 还是说每个团队/项目都需要PM?
- 需要PM的话要设置多少个?
想法:我那对PM仅有的一点点了解,尚不足以解答这个问题......太难了!还是实践得不够。个人认为还是要具体情况具体分析。多了,团队过于笨拙,小的项目好像也没必要;少了,团队容易失去方向,大的项目很有必要。
3.2 你未来的职业规划是什么?
希望能够读上研究生,读研的时候加强专业知识的学习,现在我的项目经历还很欠缺,希望能够借读研的机会,培养科研能力,积累项目经验,毕业后希望能找一个移动端的开发岗位,去大厂搬搬砖。
3.3 对于软件工程实践课程,你有什么理解和期望?
希望通过软件工程课程学习到什么技术、提高哪些方面的能力
- 希望通过软件工程课程能够熟练掌握Flutter,然后在团队的合作项目中能够学会GitHub在比较大型项目中的运用,团队之间的沟通交流合作,以及开发中的技巧等。
你对老师助教有什么期待?
- 因为缺乏实际项目的锻炼,所以我希望老师助教能够在课程中多多传授一些实际开发中的技巧,能够还原真实的项目开发环境。
- 有问题时希望老师助教能够及时提供建议或帮助。
- 希望能够合理安排好作业时间,听学长学姐说作业完成还是比较赶的,希望时间能分配得合理些。
- 希望能出一个定期的Q&A栏目,汇总大家在课程中出现的问题,大家在课程实践中扮演的角色可能不同,团队可能不同,出现的问题可能也不尽相同。这些问题在各个团队间可能很少交流,并不是每个团队都知道会出现。汇总之后每个团队都能知道解决方案,减少重复解决带来的时间和精力消耗。这些问题日后也能成为这次开发经历的宝贵经验。
4、思维导图和学习路线
想学习Flutter框架,思维导图和学习计划如下: