个人技术和流程(构建之法)

风飘万点江满月 风飘万点江满月     2022-08-22     718

关键词:

  一个成功的商业软件的发不可能是一个人单枪匹马做出来的,而是一个团队通力协作共同完成的。而团队并不能让每个人都了解你的程序,也不能让你了解每个人的程序。所以一个团队要想做出一款好的产品团队里的成员必须是一名合格的软件工程师。所以我们还要先掌握些基本的概念和技术比如说单元测试、回归测试和效能分析工具。同时一个团队需要一定得流程来管理开发活动每个工程师在软件的生命周期所做的工作也该有个流程,即个人软件开发流程。

  单元测试是一种能让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块、而且模块的质量能得到稳定的量化的保证的很有效的解决方案。

  一个好的单元测试应当准确快速的保证程序基本模块的正确性。一个好的单元测试应该满足一下标准:

  1.单元测试应该在最基本的功能(参数)上验证程序的正确性。

  2.单元测试应该由最熟悉代码的人(最好是程序的作者)来写。

  3.单元测试过后机器的状态应保持不变。

  4.单元测试要快(一个测试要几秒钟而不是几分钟)。

  5.单元测试应该产生可重复一致的结果。

  6.独立性 单元测试的运行、通过、失败不依赖别的测试,可以认为构造数据,以保持单元测试的独立性。

  7.单元测试应该覆盖所有代码路径。

  8.单元测试应该集成到自动测试的框架中。

  9.单元测试必须和产品代码一起保存维护。

  每个单元都进行了100%的覆盖后,就可以进行关于这一模块的回归测试。回归测试可以理解为“回归到以前不正常的状态”所进行的测试。针对一个Bug Fix也要做一个回归测试,目的是验证新的代码的确改正了缺陷同时要验证新的代码有没有破坏现有的功能,有没有功能的退化。

  回归测试最好要自动化,这样可以对每一个构造快速的运行所有的回归测试,以保证尽量早的发现问题。所以说单元测试是回归测试的基础。

  效能分析工具可以测试代码运行的效率,让程序员有针对性的对程序代码进行优化升级。常用的方法有两个 1.抽样。 2.代码注入。

  抽样就是当程序运行时 效能分析工具时不时的看看程序运行在哪一个函数里,程序运行结束就会得出一个程序运行时间的大致印象。抽样的有点是不需要改动程序运行较快可以很快找到瓶颈但是不能得出精确数据也不能准确得表示出代码中得调用关系树。

  代码注入就是将检验代码加入到每个函数中,这样程序得一举一动都会被记录下来,程序得各个效能数据可以被精准的测量,但是缺点也很明显,他会让程序运行的时间大大加长,还会产生大量得数据文件也增加了数据分析得时间,同时注入的程序代码也影响了程序真实得运行情况。所以一般常用先抽样找到效能的瓶颈所在让后对特定的模块用代码注入的方式进行详细得分析。

  个人开发流程就是软件工程师开发软件的工作流程它并不局限在某种软件技术而是着眼于软件的开发流程,它不依赖考试而是要靠工程师自己收集数据然后分析提高。psp依赖于数据而非程序本身。psp的目的是记录工程师如何完成实现需求的效率而不是记录顾客对产品的满意度。

  个人的技术和流程只有在实践中才能真正了解体会到当中的深意。实践的过程中能够找到自己的不足。才能加以改正。

构建之法(概论,个人技术和流程)

构建之法这本书第一章给我们讲述了软件以及软件工程的含义。软件=程序+软件工程。书中用编写出加减法题目的程序的例子生动形象的说明了程序,软件,工程之间的关系,以及软件工程的一些概念。程序,在这里指的是源程... 查看详情

构建之法第2章个人技术和流程

...在,然后对特定的模块用代码注入的方法进行详细分析3个人开发流程(1)计划明确需求和其他相关因素,指明时间成本和依赖关系分析需求生成设计文档设计复审(和同事审核设计文档)代码规范(为目前的开发定制合适的规范... 查看详情

《构建之法》——个人技术和流程

#一、单元测试单元测试的作用:让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证。##1.1好的单元测试的标准单元测试应该在最基本的功能/参数上验证程序的... 查看详情

构建之法(第二章个人技术和流程)

...了解到第二章主要讲:单元测试,回归测试,效能分析,个人软件开发流程(PSP) 1.单元测试  软件是由多人合作完成的,不同的工作有相互依赖的关系。单元测试应该准确,快速地保证程序基本模块的正确性。   ... 查看详情

构建之法第二章个人技术和流程

如果说第一章我还有点概念,那么第二章我可以说一窍不通,什么是VSTS,什么是单元测试,什么是回归测试,还是什么是效能分析……好多的新名称,第一次看见,是那么的没有头绪。要不是百度了,仅仅看书,我完全不知VSTS... 查看详情

构建之法之个人技术和流程重点介绍

...合作完成的,不同人员的工作相互有依赖关系。例如,一个人写的模块被其他人写得模块调用。软件的很多错误都来源于程序员对模块功能的误解、疏忽或不了解模块的变化。如何能让自己负责的模块功能定义尽量明确,模块内... 查看详情

《构建之法》第三次随笔

...件工程的概论,知道了“软件=程序+软件工程”,明白了个人技术和流程。阅读了第三章之后,我体会到了软件工程师的成长。 软件工程包括了开发、运营、维护软件的过程中的很多技术、做法、习惯和思想。软件开发流程... 查看详情

读构建之法第二章:个人技术和流程

绝大部分软件都是由多人合作完成的,大家的工作相互有依赖关系。某人负责的模块的功能被其他人调用,但如何让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的... 查看详情

《构建之法》一周小结

...性和可维护性。软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的。在团队的大流程中,是每一个具体的个人在做开发、测试、用户界面设计、管理、交流等工作。因 查看详情

《构建之法》2

这周,我阅读了《构建之法》的第二章和第三章,了解了个人技术和流程,以及软件工程师的成长。团队是由个人组成的,想要组成团队,开始软件工程工作,首先得确保每个成员是一个合格的软件工程师。单元测试、回归测试... 查看详情

构建之法学习

...性和可维护性。软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的。在团队的大流程中,是每 查看详情

构建之法--第二篇

...开始,才算真正进入到了这本书的主题。这一章讲到的是个人技术和流程。首先,个人技术是衡量你是否能成为一名合格的软件工程师。而想要组建一个优秀的软件开发团队,就必须要有一名软件工程师。流程则是团队来管理开... 查看详情

构建之法阅读笔记03

...主要讲解了评价软件工程师水平的主要方法。首先讲解了个人能力的衡量和发展作者提到了软件开发流程,软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的。把每个人的工作有序地组织起来... 查看详情

构建之法——第二篇

...开发流程,那么软件开发流程不光指团队的流程,还包括个人 查看详情

《构建之法》第三次

...护性。  软件开发流程不光指团队的流程,还包括个人开发流程,因为团队是 查看详情

构建之法阅读心得

   第三章讲的是软件工程师的成长。个人能力的衡量与发展,软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的,在团队的大流程中,是每一个具体的个人在做开发、测试、用户界... 查看详情

《构建之法》第二次随笔

...单元测试、回归测试和效能分析工具。书的第二章讲述了个人技术和流程,给我们着重介绍了PSP(个人软件开发流程)。  绝大部分 查看详情

《构建之法(第三版)》第三章

3.1个人能力的衡量与发展1.软件开发流程不光指团队的流程,还包括个人开发流程。把每个人的工作有序地组织起来,就是团队的流程。“有序”,并不是“无争论”。每个人的工作质量直接影响最终软件的质量。2.初级软件工... 查看详情