提问回顾与个人总结

项目 内容
这个作业属于哪个课程 博客园班级链接
这个作业的要求在哪里 提问回顾与个人总结
以前提问题的博客 个人博客作业

回答最初的问题

我想知道博客对于软件开发人员的重要性很大吗?哪些东西需要写在博客上呢?很多时候写的博客之后自己就不会看了,写出来的博客仅仅是给他人提供参考吗?

通过个人项目、结对编程的博客作业,我明白了写博客是一种很好的梳理整个工程思路的方式,例如用到了哪些技术、哪些关键实现代码、以及学到了什么新东西。通过长达2个月的团队项目,这中间大大小小的二十几篇博客,对我们团队有重要的指导意义,需求分析、技术文档能帮助开发人员有一个更清晰的思路,每日例会能清晰地反映团队每个人的项目进度,起到了一个提醒督促的作用,而发布声明和事后分析则是对整个项目的复盘和总结。

另外博客是很好的交流方式,通过评论区的互动和思维的碰撞,作者会有更深的理解更新的认识。

好记性不如烂笔头,对于软件工程师来讲,博客的作用是很重要的,写博客也应该成为一个长期的习惯。

如果两人的代码风格习惯有较大差异,例如程序模块的划分、命名习惯差异等,还能保证较高的编码效率吗?

通过阅读教材,我觉得在结对编程中,我们可以事先简单约定一些规范,这样在编程的时候就会减少一些矛盾冲突,提高编程效率。

如果开发人员审查后交给测试人员进行测试,会不会存在工作重复从而导致软件开发效率变低的问题?开发人员和测试人员的测试任务划分有没有具体的原则和标准?

通过团队项目,我发现这些测试工作并不是重复的,开发人员审查主要是从代码本身的角度考虑的,在复审的过程中可以发现很多实现思路上的bug,而且也可能发现更好的实现方式,这些是测试测不出来的。而测试的话又分为很多种,白盒黑盒等,更多的是对实现的程序进行系统的测试。

在我之前的印象中,goto语句因为易导致程序的结构混乱所以不推荐使用,而且一般goto语句可以用其他循环语句来实现。因此这里提到的可以使用goto让我感到疑惑,而且我认为使用goto一般也很容易导致程序bug

通过上网查阅资料,我发现之前的想法太局限了,goto不是不能用,而是要谨慎使用。在做好代码风险管理的前提下,使用goto有时能使代码更加灵活,所以只要理清代码思路、做好复审工作,合适地使用goto是可取的。

当雇主、客户、用户和公众之间存在利益冲突时,作为软件工程师一般都会收到来自雇主方面的压力,这个时候应该如何抉择呢?

通过阅读一些案例,我觉得应该首先考虑公众的利益,雇主和客户的利益最大化是在与公众利益保持一致的前提下的。软件工程师的行为都应该从自身规范起,从而延伸到行业、乃至社会和未来。这样的工程师、这样的职业从业者,才能成为一个对代码构建世界有伟大贡献,对社会进步有卓越奉献的人。

知识点

  • 需求

    alpha阶段没有考虑实际硬件资源的限制,做出了不实际的用户数量。

    所以需要从实际条件出发来制定合理的需求。

  • 设计

    这一阶段需要产品设计图、功能规格说明书、技术规格说明书、开发规范、版本管理,并细分各个任务指派给成员。

  • 实现

    这一阶段开发人员兼任测试工作,把本地测试无误的代码commit,并push到github,并将测试无误的代码PR进master分支且交付其他成员review。每日issue的open和close也很重要,反映整个项目的进度。

  • 测试

    除了实现阶段的测试,最后会有一个统一的测试,后端采用java的单元测试,整个项目从用户角度出发,评价用户体验,并通过一系列的正常或不正常的操作来测试网站是否正常运行,是否会出现预期结果。还要测试网站的并发性能否支撑目标用户数。

  • 发布

    我们团队在课程群、大班群、朋友圈推广了自己的产品,但其实还可以拓展推广渠道,例如面向其他学校和其他工科院系。总之,发布这一块应该渠道越多越好。

  • 维护

    收集用户反馈,对用户反馈的bug进行处理。并密切监视服务器是否遭到黑客攻击,服务器负载等问题及时解决。

学习软工的一点心得

  • 个人项目

    和学习软工之前的编程作业类似,主要工作在编码、算法,不同的是代码管理这一块更加规范了。

  • 结对编程

    最大的作用的两个人互相学习,我可以学习对方的编程思路,并结合自身的不足做出一些改变。另外,通过这次作业,学习了一门新语言C#

  • 团队项目

    体会了一个软工项目最基本的各个阶段,虽然每天都在这上面花费了大量时间,但收获也是非常多。学习了大量的前端知识,也提高了自己的编程规范,增强了抗压能力,还是很值得的。当然了,现在只是入门,对软件工程有一个基本的认知,距离企业级规范还差很远,以后肯定会不断学习才能运用到实际产品当中。

你可能感兴趣的:(提问回顾与个人总结)