Nestjs
前端
技术分享
Linux
Python
Rust
常用工具
🗒️开发规范
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
:块级元素的名称,例如header
,container
,button
等。
element
:元素是块的一部分,没有独立的意义,例如header
中的logo
,container
中的title
。
element
:块级元素的子元素的名称,例如header__logo
,container__item
,button__icon
等。
modifier
:块级元素的修饰符,例如header--fixed
,container--fluid
,button--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
进行单元测试
specification