美文网首页
《构建之法》整理

《构建之法》整理

作者: 冯九岁 | 来源:发表于2018-11-28 02:34 被阅读0次

第2章 个人技术和流程

单元测试

单元测试

回归测试

回退操作

效能分析工具

先用抽样的方法找到效能瓶颈所在,然后对特定的模块用代码注入的方法进行详细分析

个人开发流程

任务清单

计划

  • 明确需求和其他相关因素,指明时间成本和依赖关系

开发

  • 分析需求
  • 生成设计文档
  • 设计复审(和同事审核设计文档)
  • 代码规范(为目前的开发定制合适的规范)
  • 具体设计
  • 具体编码
  • 代码复审
  • 测试(包括自测,修改代码,提交修改)
  • 记录用时

报告

  • 测试报告
  • 计算工作量
  • 事后总结
  • 提出过程改进计划

软件设计的原则

单一职责原则

一个模块(类)应该只有一个导致它变化的原因,一个模块应该完全对某个功能负责

开放-封闭原则

  • 允许拓展。当应用的需求发生改变时,我们可以对模块进行拓展,从而改变模块的功能
  • 不允许修改。对模块行为进行拓展时,不必改变模块的本身

程序的健壮性

数据

属性拓展

  • 超过64位的数字

数量拓展

  • 十万条数据

维度拓展

  • 多维数组

其他属性拓展

需求

形象的显示数据处理的过程

维度拓展

数量拓展

增量改进

用户

让用户更喜欢这个软件

  • 记住上次的状态
  • 自动展现上次文档最后编辑的地方

多用户

多语言

安全性

软件构建

平台的迁移

多语言接口

增量升级部分模块

实践

工作的细分

基本功能
拓展功能
高级功能

如何保证质量——回归测试

保证在加入新功能的过程中,已有的功能可继续工作,我们需要建立起一系列测试文件


第3章 软件工程师的成长

软件工程师的成长

  • 积累软件开发相关的知识,提升技术技能
  • 积累问题领域的知识和经验
  • 对通用的软件设计思想和软件工程思想的理解
  • 提升职业技能
  • 实际成果

软件工程师的思维思维误区

分析麻痹

不分主次,想解决所有依赖问题

过早优化

过早扩大化/泛华

画扇面——调侃目标和远景

技能的反面

通过不断的练习,把低层次的问题解决,变成不用经过大脑的自动操作,然后才有时间和脑力来解决较高层次的问题


第4章 两人合作

代码风格规范

  • 4个空格的缩进
  • 每个{}独占一行
  • 不要把多个变量定义在一行上
  • 一个类型的成员变量用m_name来命名
  • Pascal:所有的类型/类/函数名
  • lowerCamel:变量
  • 注释是为了解释程序做什么(What),为什么这么做(Why),以及要特别注意的地方,只用ASCII字符,不要用中文

代码设计规范

  • 函数:只做一件事,并且要做好
  • 单一出口
  • 不要在构造函数中做复杂的操作,简单初始化所有的数据成员即可

代码复审

看代码是否在代码规范的框架内正确地解决了问题
长远的问题

  • 这么修改之后,有没有别的功能会受影响
  • 项目中还有别的地方需要类似的修改吗
  • 有没有留下足够的说明,让将来维护代码时不会出现问题
  • 对于这样的修改,有没有别的成员需要告知
  • 导致问题的根本原因是什么?我们以后如何能自动避免这样的情况再次出现

代码复审的核查表

相关文章

  • 《构建之法》整理

    第2章 个人技术和流程 单元测试 单元测试 回归测试 回退操作 效能分析工具 先用抽样的方法找到效能瓶颈所在,然后...

  • 构建之法

    个人能力的衡量(开发的工作量和质量的衡量):通过代码行数或功能点来衡量;花费的时间;交付的代码有多少bug来衡量;...

  • 【笔记】构建之法

    第二章:个人技术和流程 要点: 单元测试,回归测试,效能分析,基于个体的软件开发流程(PSP) 单元测试的构建标准...

  • 读《构建之法》

    开篇提到的现实世界中软件工程师的职业发展与教科书上经典的瀑布模型刚好相反的观点,让人眼前一亮。 学校里教的开发流程...

  • 构建之法,运用之妙,存乎一心

    构建之法,运用之妙,存乎一心 1. 构建之法,存乎一心 史学理论与史学史,是把历史自己作为研究对象的学科,前者讨论...

  • 《构建之法》笔记目录

    第1章概论 第2章个人技术和流程 第3章软件工程师的成长 第4章两人合作 第5章团队和流程 第6章敏捷流程 第7章...

  • 我读《构建之法》

    以前读过邹欣老师的几篇博客,觉得还是有些受用。这次看到邹欣老师出书,就赶热闹买了一本,看看软件从业者眼中的现代软件...

  • 【Note】《构建之法》提要

    《软件工程 构建之法》作者邹欣系Windows中国工程师团队首席研发总监 (Link:亚马逊) 整本书,极其认真...

  • Webpack构建之法,Loader

    什么是loader 在我的理解webpack的 loarder相当于一个中间件,require('file!./t...

  • Webpack构建之法,前言

    什么是Webpack webpack,是一个前端模块构建工具,利用Code Splitting技术将静态资源进行模...

网友评论

      本文标题:《构建之法》整理

      本文链接:https://www.haomeiwen.com/subject/aypoqqtx.html