> 文章列表 > 从工程的角度谈一谈工具体系的规划

从工程的角度谈一谈工具体系的规划

从工程的角度谈一谈工具体系的规划

从工程的角度谈一谈工具体系的规划


工具总论

遵循基本规则:现状与指标、方案、实施、结果和监控。

工具体系的目标

首先考虑:我们对工具本身的要求是什么?

1.考虑到工程行为都是团队合作,我们对工具最基本的要求就是:版本一致。

2.工具体系的另一个重要需求是:避免冲突

对于这两个要求的解决方案。这就需要引入一个新的概念:工具链

工具链是一系列互相配合的工具,能够协作完成开发任务(注:工具链这个词最早是由 C/C++ 程序员引入的概念,一般包含编译、链接、调试等工具)

工具体系的设计

要想设计一个工具链,首先我们需要整理一下,前端开发大约要做哪些事

  • 初始化项目
  • 运行和调试;
  • 测试(单元测试);
  • 发布。

那么,一个前端项目的工具链,大约就会包含这些功能。一个典型的社区项目工具链可能就类似下面这样:

  • Yeoman 
  • webpack        
  • ava/nyc        
  • aws-cli 

这显然不够,我们还需要一种机制,保证团队使用的工具版本一致

轻量级的做法是,在项目初始化模板中定义 npm script 并且在 npm dev-dependency 中规定它的版本号。

重量级的做法是,开发一个包装工具,在命令行中不直接使用命令,而使用包装过的命令。

工具体系的执行

简单不赘述,多是自动化

工具体系的监控

一般来说,以下指标跟开发者体验较为相关:

  • 调试 / 构建次数;
  • 构建平均时长;
  • 使用的工具版本;
  • 发布次数。

工具体系的监控不仅仅是衡量工具体系的好帮手,也是非常珍贵的研发数据,

工具的监控除了帮助我们改进工具体系,对研发体系的其它部分也有帮助。

此文章为4月Day16学习笔记,内容来源于极客时间《重学前端》