🗒️开发规范

type
status
date
slug
summary
tags
category
icon
password
😀
记录一下日常的开发规范

一、命名规范

  • 项目命名:全部采用小写方式,以下划线分隔。例:my_project_name
  • 目录命名: 参考项目命名。有复数结构时,要采用复数命名法。例:scripts, styles
  • 文件命名:参照项目命名规则。例:account_model.js

二、格式规范

  • 缩进使用 tab 键,4空格
  • 嵌套节点需要缩进
  • 使用单引号,而不是使用双引号
  • 不需要在末尾添加分号

属性顺序

属性应该按照特定的顺序出现以保证易读性:
  • class
  • id
  • name
  • data-*
  • src, for, type, href, value, max-length, max, min, pattern
  • placeholder, title, alt
  • aria-*, role
  • required, readonly, disabled
class是为高可复用组件设计的,所以应处在第一位;id更加具体且应该尽量少使用,所以将它放在第二位。

三、注释规范

  • 注释应该简明扼要,避免使用过多的注释。
  • 注释应该与代码同级,便于阅读。
  • 注释应该使用 /** */ 格式,并遵循 JSDoc 规范。

四、CSS 命名规范

除了使用 tailwindcss 之外,我们自定义的的类名需要遵守BEM架构规范:
  • block:块级元素的名称,例如headercontainerbutton等。
  • element:元素是块的一部分,没有独立的意义,例如header中的logocontainer中的title
  • element:块级元素的子元素的名称,例如header__logocontainer__itembutton__icon等。
  • modifier:块级元素的修饰符,例如header--fixedcontainer--fluidbutton--primary等。

五、JavaScript 命名规范

  • 变量名采用驼峰命名法,例如myVariableName
  • 函数名采用驼峰命名法,例如myFunctionName
  • 常量名采用全大写,单词间用下划线分隔,例如MY_CONSTANT_NAME
  • 类名采用驼峰命名法,例如MyClassName
  • 事件名采用驼峰命名法,例如myEventName
  • 组件名采用驼峰命名法,例如MyComponentName

六、Git 提交规范

  • fix: 修复 bug
  • feat: 新功能
  • docs: 文档
  • style: 格式
  • refactor: 重构
  • perf: 性能优化
  • test: 测试
  • build: 构建
  • ci: 持续集成
  • chore: 其他修改

七、其他规范

  • 代码风格统一,遵循 Airbnb JavaScript Style Guide
  • 代码提交前,先运行 eslint 进行代码风格检查
  • 代码提交前,先运行 prettier 进行代码格式化
  • 代码提交前,先运行 jest 进行单元测试
使用 Next.js 和 Capacitor 创建移动应用程序nestjs 前言