306 - 《代码门禁》
发布于 2023年6月1日
为了代码质量和一致性,我们多少会通过一些手段对代码进行检测、提醒、报错、拦截。比如 Bigfish doctor、强约束、门禁、eslint、precommit、husky、lint-staged 等名词,都是和此相关,公司内部也还有不少其他工具。但不同的工具,其执行时机、效果、性能、规则都是不同的。下面是一些我的理解。
1、在哪执行?
集成到编辑器
集成到框架
pre-commit
eslint 规则
ci
cd(流程平台)
独立 cli
能想到的有以上这些。我理解是越早越好,越独立越好。越早越好比如在用户编码保存时就能发现肯定比发布时才能发现要好。越独立越好指如果能独立运行,那这个工具就可以在多个环节集成和执行,满足用户在不同场景下的需要。
2、可以做什么?
风格类
质量类
业务类
安全类
一致性
ESLint 的规则里就分了风格类和质量类的。风格类比如空格、代码行数的限制等;质量类比如能