假装我是前端团队 leader。
众所周知,统一团队内的代码规范是非常必要的。
上面说的这些情况主要是关于代码格式方面的,代码规范还包括一些文法规范,当文法使用不规范时也会存在一些问题:
当我们拥有良好的代码规范且在团队内保持统一时,有些问题就能被有效地规避,进而提升代码的可读性和可维护性,提升编码效率,对后续的自动化集成打下坚实的基础。
现在比较流行且完善合理的代码规范来自 Airbnb 团队,下面列出了他们团队产出的有针对性的代码规范指南:
Prettier 是一个代码格式化工具,它会移除原有的代码格式,然后输出统一的符合规范的代码格式。
yarn add prettier --dev --exact # or globally yarn global add prettier 复制代码
{ "printWidth": 100, "tabWidth": 2, "useTabs": false, "semi": true, "singleQuote": true, "quoteProps": "as-needed", "jsxSingleQuote": false, "trailingComma": "all", "bracketSpacing": true, "jsxBracketSameLine": false, "arrowParens": "avoid", "proseWrap": "preserve", "htmlWhitespaceSensitivity": "css", "endOfLine": "lf" } 复制代码
Prettier 主要是做代码格式化的一个工具,它和 ESLint 差别还是比较大的。ESLint 可以对 JavaScript 和 JSX 代码进行检查,包含代码格式和代码文法。整体来说,ESLint 更能保证我们代码的质量,协助我们产出更健壮的代码。
目前很多主流编辑器已经支持 Eslint 的集成:点我查看。如何在 VSCode 中集成 Prettier,可以参考《VS Code ESLint extension》。
EditorConfig 可以帮助我们统一那些使用不同的编辑器或者是使用不同的操作系统的同学的代码格式。
可以参考EditorConfig Properties来配置我们的 .editorconfig 文件:
# EditorConfig is awesome: https://EditorConfig.org # top-most EditorConfig file root = true [*] indent_style = space indent_size = 2 tab_width = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true max_line_length = 100 复制代码
目前很多主流编辑器已经支持 EditorConfig 的集成:点我查看。如何在 VSCode 中集成 EditorConfig,可以参考《EditorConfig for Visual Studio Code》。
pre-commit 帮助我们在 commit 前执行一些类似于单元测试又或者是代码检测相关的工作。
pre-commit 能确保:
可以参考Pre-commit Hook在我们的 package.json 文件中配置 pre-commit hook:
{ "script": { "lint": "precise-commits && eslint . --ext .tsx,.ts,.jsx,.js --quiet" }, "husky": { "hooks": { "pre-commit": "yarn lint" } }, } 复制代码
如果文章中存在什么问题烦请指正,谢谢。