博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记二
阅读量:6509 次
发布时间:2019-06-24

本文共 893 字,大约阅读时间需要 2 分钟。

第二章《个人技术和流程》,本章的实质是在说明,一个合格的软件工程师是怎样的,他应该具备哪些技能。

  总结下来,一个合格的工程师在开发时需要同时考虑质量和效率,与之同时需要具备的技能包括:单元测试、效能分析、个人研发流程(PSP);

关于单元测试的正确做法:

1. 单元测试应该在最低的功能/参数上验证程序的正确性

2. 单元测试必须由最熟悉代码的人(作者)来写

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

4. 单元测试要快(一个测试用例的运行时间是几秒钟)

5. 独立性—测试的运行/通过/失败不依赖于别的测试

6. 覆盖所有代码路径

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

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

 

关于性能分析:

  性能分析往往是开发人员容易忽视的步骤,这也是为什么我们一年一年的不停做性能优化的原因,大部分人对的实时性和性能要求没有概念。 Visual Studio实际上提供了性能分析工具(Tools\PerformanceTools\Performance Wizard),其中有两种分析方法:Sampling和Instrumentation,即抽样和代码注入,抽样的原理比较简单,kprofile也类似,就是用比较短的周期去采用PC指针,看看是在哪个函数在执行,并把当前周期的时长累计为该函数的执行时长;  代码注入,相当于打点,是将检测的代码加入到每个函数中。

一般进行性能分析的做法是,先用抽样的方法找到函数热点,然后对特定的模块用代码注入进行详细分析。

这个方法,后面在我们的性能优化工作中可以多尝试下,让业务和支撑领域相关人员看看效果。

 

关于个人开发流程:

  我们熟知CMM和CMMI,软件行业的国际通用标准,这两种能力成熟度模型,他们是用来衡量一个团队能力的模型,由卡内基梅隆大学(CMU)制定推出。其实CMU的专家针对软件工程师也有一套模型,叫Personal Software Process(PSP),即个人开发流程的标准

转载于:https://www.cnblogs.com/ghs1065248758/p/6392990.html

你可能感兴趣的文章
React Hook 实践小结
查看>>
flask学习笔记之flask-migrate
查看>>
win32——关机
查看>>
【转】Android开发之线程池使用总结
查看>>
行内元素和块级元素
查看>>
java 设计模式之桥梁模式
查看>>
[Java] 图说 注解
查看>>
js实现天小时分钟秒倒计时
查看>>
浅谈Tomcat服务器优化方法
查看>>
面向对象访问修饰符
查看>>
安装oracle出现环境不满足最低要求
查看>>
Java并发编程(一)并发特性
查看>>
css3 渐变实例2径向渐变
查看>>
Python通用编程 - 第四章:字符编码
查看>>
好程序员java教程分享+号与append的效率问题
查看>>
滚动字幕标记<marquee></marquee>
查看>>
Hadoop2搭建Federation+HA
查看>>
bzoj 1066: [SCOI2007] 蜥蜴
查看>>
JQ和Js获取span标签的内容
查看>>
计算机网络的现实应用
查看>>