zoukankan      html  css  js  c++  java
  • 读书笔记4月2

    继续阅读构建之法这本书,读完团队之后就是对于个人这方面的思索了,说实话我并不知道一个合格的软件工程师应该做到什么,我觉得一个合格的软件工程师应该是服从团队,拥有扎实的编程技术,但是阅读这本书之后,一个软件工程师可以从他拥有的技能水平高低来进行实地的检测,这三个技能分别是单元测试、效能分析、个人研发流程。

    关于单元测试的正确做法:单元测试必须由最熟悉代码的人(作者)来写,单元测试要快,并且要进行独立性测试,测试的运行,通过,失败不依赖于别的测试,同时覆盖所有代码路径单元测试应该集成到自动化测试的框架中,单元测试必须和产品代码一起保存和维护

    关于性能分析,性能分析往往是开发人员容易忽视的步骤,这也是为什么我们一年一年的不停做性能优化的原因,大部分人对嵌入式的实时性和性能要求没有概念。有两种分析方法:抽样和代码注入,抽样就是用比较短的周期去采用PC指针,看看是在哪个函数在执行,并把当前周期的时长累计为该函数的执行时长;代码注入,相当于打点,是将检测的代码加入到每个函数中。一般进行性能分析的做法是,先用抽样的方法找到函数热点,然后对特定的模块用代码注入进行详细分析。

    最后关于个人开发流程:对软件工程师的标准有一套模型,叫Personal Software Process(PSP),即个人开发流程的标准;可以看到在工作时间越久,一些富有经验的工程师在编写一款软件的时候,他们会特别注重应用需求与分析,这是建立在他们有着扎实的代码基础之后。

    这三个技能或者说是在编写软件的习惯和方法我都应该熟悉并且运用到自己编程的过程中,自己在写程序时完全可以在写完一个部分以后及时运行,并且再遇到有问题时候运用性能分析的方法来解决。并且不断夯实自己的代码基础,从而更加完善自己在应用需求分析上的不足。

  • 相关阅读:
    UVA 11174 Stand in a Line,UVA 1436 Counting heaps —— (组合数的好题)
    UVA 1393 Highways,UVA 12075 Counting Triangles —— (组合数,dp)
    【Same Tree】cpp
    【Recover Binary Search Tree】cpp
    【Binary Tree Zigzag Level Order Traversal】cpp
    【Binary Tree Level Order Traversal II 】cpp
    【Binary Tree Level Order Traversal】cpp
    【Binary Tree Post order Traversal】cpp
    【Binary Tree Inorder Traversal】cpp
    【Binary Tree Preorder Traversal】cpp
  • 原文地址:https://www.cnblogs.com/ljpljm/p/13082018.html
Copyright © 2011-2022 走看看