zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记2

    软件行业经过这么多年的发展,一个软件由一个人完成已经很少见了,软件都是在人与人之间相互合作完成的。合作的最小单位是两个人,那么两人合作是什么呢?

    首先,对于编程者而言,能否共同工作编写代码的前提是每个人能看懂别人的代码,所以代码规范在一个大家共同进行的项目中是至关重要的。代码风格的原则是简明、易读、无二义性。就好像我们平时课堂中编程一样,绝大部分的人的代码并不能让其他人简单的读我懂,这就是因为我们的代码不够规范。代码的规范包括行宽,括号,断行,变量的命名,注释等等。那么经过一段时间的代码编译,代码的编译出来了,但是这是否意味着你的整个工作已经结束了吗?显然并不是这样,我们需要进行代码复审,那么谁来进行代码复审,代码复审有是干什么的?代码复审的目的在于检查代码中的错误,去发现一些需要改进的地方看以及教育开发人员传授经验。代码复审就是看代码是否在“代码规范”的框架内正确的解决了问题。在软件工程中最基本的复审手段就是同伴复审。选择最有经验,最熟悉这一部分代码的人来进行复审。在复审过程后开发者应该将错误记录下来。

    软件是由多人合作完成的,不同人员的工作相互有依赖关系。例如,一个人写的模块被其他人写的模块调用。软件的很多错误都来源于程序员对模块功能的误解、疏忽或不了解模块的变化。单元测试能让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证。很多调查显示,在软件开发后期发现的Bug,修复起来要花更多的时间。

             在单元测试的基础上,我们就能够建立关于这一模块的回归测试。目的是1. 验证新的代码的确改正了缺陷2. 同时要验证新的代码有没有破坏模块的现有功能。所以,对于“回归测试”中的“回归”,我们可以将其理解为“回归到以前不正常的状态”。回归测试最好要自动化,因为这样就可以对于每一个构建快速运行所有回归测试,以保证尽早发现问题。单元测试是回归测试的基础。在专注于模块基本功能的单元测试之外,还有功能测试—从用户的角度检查功能完成得怎么样。在微软的实践中,在一个项目的最后稳定阶段,所有人都要参加全面的测试工作,把所有以前发现并修复的Bug找出来,一个一个验证,以保证所有已经修复过的Bug的确得到了修复,并且没有在最后一个版本中“复发”,这是一个大规模的、全面的“回归测试”。

  • 相关阅读:
    Post请求的两种编码格式:application/x-www-form-urlencoded和multipart/form-data传参方式
    工作中常用的JavaScript函数片段
    解决导入导出Excel表格文字乱码问题
    清空antd-design时间选择组件 RangePicker的值
    react.js Hooks路由跳转
    linux跳板机服务器搭建
    docker及docker-compose学习
    Android Jenkins+Git+Gradle持续集成
    Windows Server 2008 R2常规安全设置及基本安全策略
    ubuntu lnmp安装及php扩展
  • 原文地址:https://www.cnblogs.com/a1264393659/p/5611070.html
Copyright © 2011-2022 走看看