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

#一、单元测试
单元测试的作用:让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证。

##1.1 好的单元测试的标准

  • 单元测试应该在最基本的功能/参数上验证程序的正确性。
  • 单元测试必须由最熟悉代码的人(程序的作者)来写。
  • 单元测试过后,机器状态保持不变。
  • 单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟)。
  • 单元测试应该产生可重复、一致的结果。
  • 独立性——单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。
  • 单元测试应该覆盖所有代码路径。
  • 单元测试应该集成到自动测试的框架中。How?
  • 单元测试必须和产品代码一起保存和维护。

##1.2 回归测试
1.定义:从正常工作的稳定状态退化到不正常工作的不稳定状态。
2 目的:验证新的代码的确修改了缺陷和同时验证新的代码有没有破坏模块的现有功能。
回归测试对我来说时很陌生的,我好像以前很少或者几乎不适用,我认为这个在以后可能会用到,我也会在编程的过程中去有意识地想这个。

#二、效能分析工具
效能分析工具可以测试代码运行的效率,让程序员有针对性的对程序代码进行优化升级。常用的方法有两个:

  • 1.抽样。
  • 2.代码注入。
    抽样就是当程序运行时 效能分析工具时不时的看看程序运行在哪一个函数里,程序运行结束就会得出一个程序运行时间的大致印象。抽样的有点是不需要改动程序运行较快可以很快找到瓶颈但是不能得出精确数据也不能准确得表示出代码中得调用关系树。
    代码注入就是将检验代码加入到每个函数中,这样程序得一举一动都会被记录下来,程序得各个效能数据可以被精准的测量,但是缺点也很明显,他会让程序运行的时间大大加长,还会产生大量得数据文件也增加了数据分析得时间,同时注入的程序代码也影响了程序真实得运行情况。所以一般常用先抽样找到效能的瓶颈所在让后对特定的模块用代码注入的方式进行详细得分析。

#三、个人开发流程

时间: 2024-10-12 23:37:22

《构建之法》——个人技术和流程的相关文章

【转】人,技术与流程

我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding. 在 Google 我参与了两个 Project,第一个就是 Youtube,其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,存储,转码后,我们还做 Gobal CDN ,最大的时候峰值达到 10 TB,我们在全球 10 万个节点,每台机器都是 24 核跑满状态.然

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

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

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

构建之法这本书第一章给我们讲述了软件以及软件工程的含义. 软件=程序+软件工程.书中用编写出加减法题目的程序的例子生动形象的说明了程序,软件,工程之间的关系,以及软件工程的一些概念.程序,在这里指的是源程序,就是一行行的代码.他们是建立在数据结构上的一些算法.但软件工程的内容远不止这些.软件工程的核心部分包括和软件开发活动(构建管理.源代码管理.软件设计.软件测试.项目管理)相关的内容.广义上的软件工程也包括用户体验.用户界面设计等.所以,一个推论是:软件=程序+软件工程,一个扩展的推论是:软件

人,技术与流程(转)

我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding. 在 Google 我参与了两个 Project,第一个就是 Youtube,其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,存储,转码后,我们还做 Gobal CDN ,最大的时候峰值达到 10 TB,我们在全球 10 万个节点,每台机器都是 24 核跑满状态.然

人,技术与流程

Coding 孙宇聪:<人,技术与流程> https://blog.coding.net/blog/human-tech-procedure 我先做一下自我介绍,我是 07 年加入的 Google,在 Moutain View 总部任Google SRE,今年年初回国加入 Coding.在 Google 我参与了两个 Project, 第一个就是 Youtube, 其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,

Coding CTO 孙宇聪:《人,技术与流程》

我先做一下自我介绍,我是 07 年加入的 Google,在 Moutain View 总部任Google SRE,今年年初回国加入 Coding . 在 Google 我参与了两个 Project, 第一个就是 Youtube, 其中包括 Video transcoding, streaming 等,Google 的量很大,每个月会有 1PB 级别的存储量,存储,转码后,我们还做 Golbal CDN ,最大的时候峰值达到 10 TB,我们在全球 10 万个节点,每台机器都是 24 核跑满状态.

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

这一章重点介绍的是以前了解过但未曾注重过的单元测试&回归测试:个人技术素养是团队协作的基础. 1.VSTS单元测试 源代码 public Class User() { public User(string userEmail) { memail = userEmail; } private string memail;//private变量拒绝外部类访问(除非用get/set方法) } 测试代码1 public void ConstructorTest() { string userEmail

影响质量的三要素:技术,流程,组织。他们之间的关系是什么?他们怎么影响了软件的质量?

流程 从计划到策略的实现,流程就是按照这种思维方式指导软件开发的,并且流程来源于成功的经验,可以指导项目少走弯路,从而提高软件质量,不仅如此,流程还对项目的成本和进度控制有很大的帮助技术 包括了分析技术.设计技术.编码技术.测试技术,需求是项目的灵魂,良好的需求分析便是项目成功的关键所在,若是需求分析做不好不可避免的要出现返工:设计,软件的质量是设计出来的,良好的设计基本上决定了软件产品的最终质量:编码技术产生正确高效的代码:测试是保证软件的一道防线.所以各种技术对质量来说都是很重要的组织 好的

个人技术和流程

1.单元测试 软件是由多人合作完成的,不同人员的工作相互有依赖关系.单元测试是模块质量稳定和量化的保证. 好的单元测试的标准: (1)单元测试应该在最基本的功能/参数上验证程序的正确性. (2)单元测试必须有最熟悉代码的人(代码的作者)来写. (3)单元测试过后,机器状态保持不变. (4)单元测试要快 (5)应该产生可重复,一致的结果. (6)独立性 (7)单元测试应该覆盖所有代码路径 (8)单元测试应该集成到自动测试的框架中 (9)单元测试必须和产品代码一起保存和维护 2.回归测试 从正常工作

文思海辉技术有限公司——流程管理架构平台应用

一.项目简介 1.客户介绍 文思海辉技术有限公司的前身分别是文思信息技术有限公司和海辉软件(国际)集团公司,这两家公司都是软件外包服务提供商.之后宣布合并,合并的公司中文名称为"文思海辉技术有限公司" 文思海辉一直致力于为全球客户提供世界领先的商业/IT咨询.解决方案以及外包服务,在金融服务.高科技.电信.旅游交通.能源.生命科学.制造.零售与分销等领域积累了丰富的行业经验,主要客户涵盖众多财富500强企业及大中型中国企业.凭借专业的交付能力,帮助客户在全球市场中赢得成功.目前公司拥有