前端代码审查规范

简介: 前端代码审查规范

前端代码规范

一千个读者,有一千个哈姆雷特

一千个程序员,就有一千种代码风格

由于个人喜好、习惯、编码风格各异,因此团队合作中需要统一规范

前端代码规范流程实践思路

  1. 本地开发过程,提示、校验、更改
  2. Git 提交过程,代码校验是否允许提交
  3. 服务端校验,代码校验是否合并和发布

一、开发者本地IDE统一

开发工具统一配置,智能实时提示

VS COde 为例, 安装 ESLintVetur 等扩展包

image.png

规则设置

项目构建时 lint 规则可以继承优秀团队基于最佳实践设定的编码规范,如 airbnb, 这样避免重复造轮子造成人力的资源浪费和规则覆盖的缺陷,继承社区知名代码规范后团队内部再进行细节调整

{
  "extend": ["airbnb-base"],
  "rules": {
    "semi": ["error", "never"]
  }
}

社区知名的代码规范

vue-cli3 脚手架初始化项目时规范选择

image.png

可以设置部分 eslint rule 为警告,保障开发体验,并且在 pre-commitCI 中把警告视为不通过,保证严格的代码规范

二、 Git Hooks

团队合作中的编码规范有一点是,虽然自己有可能不舒服,但是不能让别人因为自己的代码而不舒服。

git 自身包含许多 hooks,在 commitpush 等 git 事件前后触发执行。与 pre-commit hook 结合可以帮助校验 Lint,如果非通过代码规范则不允许提交。

husky 是一个使 git hooks 变得更简单的工具,只需要配置几行 package.json 就可以愉快的开始工作。

// package.json
{
  "scripts": {
    "lint": "eslint . --cache"
  },
  "husky": {
    "hooks": {
      "pre-commit": "npm lint",
    }
  }
}


git commit 过程拦截效果


image.png

注意:git hooks 的规范校验可以通过 git commit -n 跳过,需要在 CI 层继续加强校验

三、 CI/CD

git hooks 可以绕过,但 CI(持续集成) 是绝对绕不过的,因为它在服务端校验。使用 gitlab CI 做持续集成,配置文件 .gitlab-ci.yaml 如下所示

lint:
  stage: lint
  only:
    - /^feature\/.*$/
  script:
    - npm run test

GitLab pipelines 运行效果


image.png

资料参考

以下资料为2020年以后日期发布的内容

常见的几种js代码规范工具

代码质量管理的开源平台Sonar

www.sonarqube.org/

前端代码规范(静态检查)工具

前端团队代码规范最佳实践

自动化代码规范工具

由浅入深定制你的代码规范与检查

ESLint

husky

githooks

GitLab Continuous Integration (CI)

GitLab CI/CD

目录
相关文章
|
7月前
|
缓存 前端开发
前端代码整洁与规范之CSS篇
【4月更文挑战第2天】 前端代码整洁与规范之CSS篇
242 4
|
7月前
|
前端开发 JavaScript API
前端代码书写规范
前端代码规范提升项目可维护性和团队协作效率。关注项目命名清晰简洁、一致性,组件命名使用驼峰式且具描述性。JS遵循4空格缩进,分号结束语句,CSS按逻辑排序,HTML注重语义化。注释要功能性、文档化且简洁。遵循规范能减少错误,增强团队沟通。
313 3
|
2月前
|
前端开发 测试技术
如何从零到一建立前端规范
【10月更文挑战第6天】
78 2
|
4月前
|
前端开发 JavaScript 开发工具
前端规范
前端规范
|
3月前
|
监控 前端开发 开发者
前端代码规范 - 日志打印规范
前端代码规范 - 日志打印规范
|
4月前
|
缓存 JavaScript 前端开发
|
4月前
|
前端开发
前端代码书写规范
【8月更文挑战第15天】前端代码书写规范
104 0
|
7月前
|
缓存 JavaScript 前端开发
前端 JS 经典:CommonJs 规范
前端 JS 经典:CommonJs 规范
67 0
|
7月前
|
前端开发 JavaScript 算法
比较流行的前端代码书写规范都有哪些
【4月更文挑战第13天】前端代码规范增进代码可读性和团队协作,包括缩进(用2空格)、命名(变量 camelCase,常量 MY_CONSTANT,类 PascalCase)、注释、语句与表达式、错误处理、代码复用。文件命名规范涉及扩展名、目录结构、简洁文件名、入口文件和配置文件命名。遵循这些规范能提高代码一致性,但需按项目需求调整。不断学习新规范以适应前端技术发展。
76 1
|
7月前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性