代码规范skill入门指南:从混乱到整洁的工程化实践

2次阅读
没有评论

共计 1250 个字符,预计需要花费 4 分钟才能阅读完成。

image.webp

为什么我们需要代码规范?

在团队协作中,没有统一的代码规范会导致许多问题。比如,我曾经参与过一个项目,由于缺乏规范,每次代码审查都要花费大量时间讨论格式问题,而不是关注业务逻辑。更糟糕的是,因为格式不一致,Git 合并时经常出现冲突,严重影响了开发效率。

代码规范 skill 入门指南:从混乱到整洁的工程化实践

  • 代码审查时间增加 40%
  • Git 冲突率上升 25%
  • 新成员上手时间延长 50%

这些数据告诉我们,建立统一的代码规范不是可有可无的,而是提高团队效率的必要措施。

工具选择与配置

ESLint vs Prettier vs Stylelint

  • ESLint:主要负责 JavaScript/TypeScript 代码质量检查
  • Prettier:专注于代码格式化
  • Stylelint:用于 CSS/SCSS 等样式文件检查

对于大多数前端项目,我推荐使用 ESLint+Prettier 的组合,它们互补且能覆盖大部分需求。

基础配置示例

// .eslintrc.js
module.exports = {
  env: {
    browser: true,
    es2021: true,
  },
  extends: [
    'airbnb-base', // 使用 Airbnb 基础规则
    'plugin:@typescript-eslint/recommended', // TypeScript 推荐规则
    'prettier', // 必须放在最后,覆盖可能冲突的规则
  ],
  parser: '@typescript-eslint/parser',
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
  },
  plugins: ['@typescript-eslint'],
  rules: {
    // 自定义规则可以在这里覆盖
    'import/extensions': 'off', // 关闭对文件扩展名的检查
    'import/prefer-default-export': 'off', // 允许单个导出
  },
};

自动化流程

Git Hooks 集成

使用 husky 和 lint-staged 可以确保每次提交前都自动检查代码:

// package.json
{
  "husky": {
    "hooks": {"pre-commit": "lint-staged"}
  },
  "lint-staged": {"*.{js,jsx,ts,tsx}": [
      "eslint --fix",
      "prettier --write",
      "git add"
    ],
    "*.{css,scss}": [
      "stylelint --fix",
      "prettier --write",
      "git add"
    ]
  }
}

实践建议

渐进式采用策略

对于已有项目,不要一次性启用所有规则:

  1. 先启用基础格式规则
  2. 逐步添加质量规则
  3. 最后加入复杂规则

遗留代码处理

对于老代码,可以使用 --no-verify 选项暂时跳过检查,逐步改进。

延伸思考

代码规范应该随着团队发展不断演进。建议定期回顾规范,根据实际遇到的问题进行调整。同时,可以将规范检查集成到 CI 流程中,确保每次构建都符合标准。

进一步学习

正文完
 0
评论(没有评论)