首页 > 其他分享 >《构建之法》读后感2

《构建之法》读后感2

时间:2023-03-17 23:22:29浏览次数:32  
标签:读后感 软件开发 工程师 单元测试 程序员 构建 模块 软件

接上回,我继续读构建之法。这次是第二章和第三章。

第二章讲的是1单元测试①重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。②好的单元测试的标准:在最基本的功能/参数上验证程序的正确性单元测试必须由最熟悉代码的人(程序的作者来写)单元测试过后,机器的状态保持不变单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)单元测试应该产生可重复、一致的结果独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性单元测试应该覆盖所有代码路径单元测试应该集成到自动测试的框架中单元测试必须和产品代码一起保存和维护③单元测试的基础上能够建立关于这一模块的回归测试,目的是:(1)验证新的代码的确改正了缺陷2)同时验证新的代码有没有破坏模块的现有功能,有没有Regression2.2 效能分析工具效能分析方法:抽样和代码注入2.3 个人开发流程个人开发流程PSP(Personal Software Process)特点:(1)不局限于某一种软件技术,而是着眼于软件开发的流程,这样,开发不同应用的软件工程师可以互相比较。(2)不依赖于考试,而主要靠工程师自己收集数据,然后分析、提高。(3)在小型、初创的团队中,很难找到高质量的项目需求,这意味着给程序员的输入质量不高。在这种情况下,程序员的输出(程序/软件)往往质量也不高,然而这并不能全部由程序员负责。(4)PSP依赖于数据(工程师输入数据的时间代价、数据可能遗失或者不准确的风险、可能会出现一些数据不利于工程师本人的情况)5)PSP目的是记录工程师如何实现需求的效率,而不是记录顾客对产品的满意度,工程师有可能很高效地开发出一个顾客不喜欢的软件。第三章:

3.1 个人能力的衡量与发展①软件工程包括了开发、运用、维护软件的过程中的很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”,软件开发流程的目的是为了提高软件开发、运营和维护的效率,以及提升用户满意度、软件的可靠性和可维护性。②初级软件工程师的成长包括以下几种:(1)积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。例如:对JAVA、C/C++、C#的掌握,诊断/提高效能的技术,对设备驱动程序、内核调试器的掌握,对于某一开发平台的掌握(2)积累问题领域的知识和经验(例如对医疗或金融行业的了解)(3)对通用的软件设计思想和软件工程思想的理解(4)提升职业技能(区别于技术技能),包括:自我管理的能力、表达交流的能力、与人合作的能力、按质按量完成任务的执行力(5)实际成果——最重要的评价标准,我之前都没有进行单元测试,还哟有个人能力衡量。之后我要进行测试,减少时间,也有对自己能力去估量。

标签:读后感,软件开发,工程师,单元测试,程序员,构建,模块,软件
From: https://www.cnblogs.com/daitu66/p/17228622.html

相关文章

  • 基于kubernetes构建jenkins+gitlab持续集成
    @目录安装jenkins安装gitlabjenkins连接gitlab配置Jenkins连接maven配置cicd本案例使用docker-compose来安装部署Jenkins和gitlab节点IPmaster192.168.200.44......
  • Monkey二次开发 -- Monkey jar包构建
      前面已经下载好了Android源码,可以在对应目录下构建二次开发后的monkeyjar包了;  当前环境:Ubuntu16.04,Andorid10源码。 1.初始化环境  cd进入android源码根目......
  • 传统企业,如何构建性能测试技术体系
    之前有朋友介绍,帮一家知名的美妆零售企业,做过一次技术咨询,给我的个人感触还是比较大的。可能是我在互联网企业工作的比较久,已经习惯了尝试新鲜技术和方法,通过快速的工程......
  • 构建之法第一章
    第一章概论在这一章中,作者为我们介绍了一些关于软件工程的基本知识。①软件=程序+软件工程:正是因为对软件开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理......
  • Qt项目的构建(编译)、运行与调试
    Qt中的项目类型(二) Qt中的项目类型(二)_qt项目_SuninRobot的博客-CSDN博客 写的很好,能学到很多Qt项目的构建(编译)、运行与调试(三) Qt项目的构建(编译)、运行与调......
  • jenkins多环境构建配置
    docker-compose.ymlversion:'3'services:jenkins:image:jenkinsci/blueoceancontainer_name:jenkins-blueoceanrestart:unless-stoppedn......
  • 根据后序序列构建二叉树并输出其前序序列
    1#include<bits/stdc++.h>2usingnamespacestd;3typedefstructTreeNode*Tree;//定义了一个叫做TreeNode的结构体指针*Tree4typedefcharElementType;......
  • 项目构建node-sass源码报错 SyntaxError:Unexpectedtoken"?"
    背景vue2项目,之前一直构建正常。今天改了代码,构建时报错,报错原因显示编译node-sass源码时出错。报错信息:Modulebuildfailed:/node_modules/node-sass/sass.dart.js:19......
  • Cesium 与 Babylon.js 可视化 构建房子
    我决定不从Babylonjs基础来讲了直接整合cesium与babylonjs可视化来讲我整合一个类库后续不断更新中npmi@haibalai/cesium-babylonjs 初始化cesium-babylonjs......
  • T-SQL——构建临时测试数据集
    目录0.背景1.SELECT2.CTE3.VALUES0.背景某些时候用于测试SQL语句,快速构建临时测试数据1.SELECTSELECT*FROM(SELECT'张三'ASName,'语文'ASSubject,100......