zoukankan      html  css  js  c++  java
  • 20170914-构建之法:现代软件工程-阅读笔记

    第一章概论

    软件=程序+软件工程 软件工程是把系统的.有序的可量化的方法应用到软件的开发.运营和维护上的工程  软件开发的不同阶段:1.玩具阶段2.业余爱好阶段3.探索阶段4.成熟的产业阶段 软件的特殊性:复杂性 不可见性 易变性 服从性 非连续性  软件工程的目标:创造“足够好”的软件!

    第二章 个人技术和流程

    好的单元测试的标准:单元测试应该在最基本的功能、参数上验证程序的正确性 单元测试必须由熟悉代码的人来写 测试过后 机器状态保持不变 时间要快 要产生一致的结果 并且保持单元测试的独立性 它应该覆盖所有代码路径 集成到自动测试的框架中 它必须和产品代码一起保存和维护

    回归测试:是倒退 退化 退步的意思

    第三章 软件工程师的成长

    软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的。在团队的大流程中,是每一个具体的个人在做开发.测试.用户界面设计.管理.交流等工作。因此,个人在团队中也有独立的过程

    第四章 两人合作

    代码风格规范:缩进 行宽 括号 断行与空白{}行 分行 命名 下划线 大小写 注释 

    代码设计规范:函数 goto 错误处理(参数处理 断言) 如何处理C++中的类(类 class vs.struct 公共、保护、私有成员 数据成员 虚函数 构造函数 析构函数 new和delete 运算符 异常 类型继承)

    代码复审:1、找出代码的错误。如:
            a. 编码错误,比如一些能碰巧骗过编译器的错误。
            b. 不符合项目组的代码规范的地方。
      2、发现逻辑错误,程序可以编译通过,但是代码的逻辑是错的。
      3、发现算法错误,比如使用的算法不够优化。
      4、发现潜在的错误和回归性错误——当前的修改导致以前修复的缺陷又重新出现。
      5、发现可能改进的地方。
      6、教育(互相教育)开发人员,传授经验,让更多的成员熟悉项目各部分的代码,同时熟悉和应用领域相关的实际知识。

    结对编程:两人合作的不同阶段和技巧:萌芽阶段 磨合阶段 规范阶段 解体阶段

  • 相关阅读:
    cookie实例---显示上一次访问的时间与java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value
    No Mapping For GET "xxx.do"
    Mybatis 配置文件
    spring整合JUnit测试
    Spring 约束文件配置
    c3p0封装
    Linux下载:wget、yum与apt-get用法及区别
    docker安装各种坑
    动态管理upsteam---nginx_http_dyups_module
    安装nginx环境(含lua)时遇到报错ngx_http_lua_common.h:20:20: error: luajit.h: No such file or directory的解决
  • 原文地址:https://www.cnblogs.com/shy6002/p/7528813.html
Copyright © 2011-2022 走看看