规范:项目、目录、文件、样式、事件、变量、方法、url参数、注释、git提交 命名规范及考证

news/2024/11/8 13:26:46/

一、规范命名的重要性

易懂、通用、规范、标准、专业性、是经验积累的体现

1.1、常见命名方法

序号命名方法解释
1全小写
2全大写
3驼峰:小驼峰命名法
4驼峰:大驼峰命名法
5烤串命名法 / 脊柱命名法
6下划线分隔法

二、项目名

采用小写字母和中划线(-)连接的方式命名,如my-project

序号规则举例
1采用小写字母和中划线(-)连接的方式命名my-project

三、目录 / 文件夹

重要:目录架构既要符合前端行业通用规则,又要满足项目的业务架构。层次分明,分工明确,从目录架构反过来能理解整个项目的业务架构。

3.1、整体原则

序号原则解释
1简洁明了命名应简洁明了,能够清晰地表达文件夹/目录的用途或内容。
2一致性在整个项目中保持命名规则的一致性,以便其他开发者能够快速理解和使用。
3小写字母为了避免大小写敏感问题,建议使用小写字母进行命名。
4使用连字符如果文件名包含多个单词,建议使用连字符(-)或下划线(_)进行分隔,但通常连字符在前端项目中更为常见。

3.2、具体规则

序号规则举例
1

采用小驼峰(camelCase)命名法

即第一个单词首字母小写,后续单词首字母大写。

如有复数结构时(此文件夹包含多个子文件夹或文件),可以采用复数命名法,如components、assets

camelCase
2也可以考虑使用小写字母和中划线(-)连接的方式,但这种方式在前端项目中较少见,更多用于文件名或类、ID的命名my-task

3.3、通用命名

序号名称解释
1src包含源代码的文件夹
2components包含Vue组件的文件夹(复数命名)
3assets包含静态资源的文件夹(复数命名)
4utils包含工具函数的文件夹(复数命名)
5views包含路由页面的文件夹(复数命名)

3.4、注意事项

序号事项解释
1避免使用保留字避免使用操作系统或编程语言中的保留字作为文件夹/目录名,以免引起冲突或误解。
2避免使用空格和特殊字符空格和特殊字符可能会在某些环境下导致问题,因此建议使用下划线(_)或中划线(-)作为单词之间的分隔符。
3考虑国际化如果项目需要支持多种语言,命名时应考虑国际化因素,避免使用具有特定文化含义的词汇。

3.5、gitee / github 实例

序号来源 / 项目截图目录分析
1gitee / vue1、小写命名
2、中划线 / '-' 命名
vue: 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
 2gitee / RuoYi1、小写命名
2、中划线 / '-' 命名
RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
3gitee / element

1、小写命名
2、中划线 / '-' 命名

3、底划线 / '_' 命名

https://gitee.com/ElemeFE/element/tree/dev

四、文件名

4.1、整体规则

同 3.1 整体原则

4.2、具体命名规则

序号规则详细
1组件文件名1、对于Vue、React等框架的组件文件,通常使用小驼峰(camelCase)命名法,但文件名本身(不包括扩展名)往往使用小写字母和连字符(-)连接的方式,以匹配HTML中的class命名习惯。例如,MyComponent.vue在HTML中可能作为<my-component>使用,因此文件名可以命名为my-component.vue。
2、另一个常见的做法是,即使内部组件类名使用小驼峰,文件名也保持小写字母和连字符的形式,如UserProfile.vue的文件名可以命名为user-profile.vue。
2样式文件名样式文件(如CSS、SCSS、LESS等)通常使用小写字母和连字符(-)连接的方式命名,以匹配CSS类名的命名习惯。例如,styles.css、main-layout.scss。
3脚本文件名JavaScript、TypeScript等脚本文件可以使用小写字母和连字符(-)或点(.)连接的方式命名,但点通常用于表示文件类型或模块结构(如utils.js、app.module.ts)。然而,在前端项目中,更常见的做法是使用小驼峰命名法(不包括扩展名),如main.js、app.ts,或者简单的文件名加上扩展名,如index.js。
4图片和媒体文件名1、图片和媒体文件(如PNG、JPG、GIF、SVG等)通常使用小写字母、数字和连字符(-)命名,以描述文件的内容或用途。例如,logo.png、background-image.jpg。
2、对于需要描述多个属性的图片,可以使用连字符分隔属性,如user-profile-avatar.png。
5测试文件名测试文件(如单元测试、集成测试等)通常使用与被测试文件相同的命名规则,但会在文件名后添加.test、.spec或.spec.js等后缀以标识其为测试文件。例如,user-profile.spec.js

4.3、注意事项

序号事项详细
1避免使用保留字避免使用操作系统或编程语言中的保留字作为文件名,以免引起冲突或误解
2避免使用空格空格可能会导致在某些环境下出现问题,因此建议使用连字符(-)或下划线(_)作为单词之间的分隔符
3考虑文件类型文件名应包含文件类型扩展名,以便快速识别文件的类型和内容

4.4、实例

序号来源 / 项目截图目录分析
1gitee / vue

1、小写

2、烤串

vue: 🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. - Gitee.com

2gitee / RuoYi

1、小写

2、驼峰

3、底划线

RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 - Gitee.com

3gitee / element

1、小写

2、烤串

element: Element 是一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库,提供了配套设计资源,帮助你的网站快速成型。由饿了么公司前端团队开源。 - Gitee.com

五、CSS 样式

class / id

驼峰、烤串命名、蛇形命名

CSS 命名规范,将省下你大把调试时间 - 知乎

常用CSS的命名规范:_Aiden_xiaoGuo的博客-CSDN博客_css命名规范

六、事件

6.1、handle + 行为描述

考证element-ui

6.2、动词+内容

js事件名称集_aら 淼的博客-CSDN博客_事件名称

https://wenku.baidu.com/view/8fcc71a96b0203d8ce2f0066f5335a8102d2661d.html

更多内容待补充 

七、变量

js命名规范 - 腾讯云开发者社区-腾讯云

https://www.csdn.net/tags/MtjaQg1sMDgwMjMtYmxvZwO0O0OO0O0O.html

JavaScript:变量命名的规范_Argonaut_的博客-CSDN博客_js变量命名规范

js变量命名规范 - 百度文库

八、方法

如 vue method 的方法

JavaScript命名规范_菜鸟_小卡酷谋的博客-CSDN博客_js命名规范

九、url 及 参数

1、URL越短越好

2、避免太多参数

3、目录层级较少

4、具有描述性

5、包含关键词

6、字母全部小写

7、使用连词符

网站URL规范化设计的8个命名规则_目录_文件_字母

URL规范有哪些-SEO-PHP中文网

URL命名规范_风的着点的博客-CSDN博客_url命名规范

url 命名规范_whatday的博客-CSDN博客_url命名规范

URL命名规则 - 百度文库

十、注释

前端:HTML、CSS、JavaScript 代码注释 / 注释与代码规范_html注释-CSDN博客

十一、git 提交

vue3-ts:Commitlint / 规范化Git提交消息格式_commitlint 规范-CSDN博客

十二、欢迎交流指正

遵循命名规则,可以创建一个结构清晰、易于维护的前端项目

十三、参考链接

规范:接口返回的字段命名规范考证_php接口返回驼峰还是下划线-CSDN博客

规范:前端代码开发规范_前端开发规范-CSDN博客

前端代码规范-命名规范-阿里云开发者社区

前端代码命名规范_Tl丶落樱无痕的博客-CSDN博客_前端代码命名规范

Aotu.io - 前端代码规范

概述 | Aotu.io - 前端代码规范

微社区技术规范站

TGideas文档库

GitHub - ecomfe/spec: This repository contains the specifications.

GitHub - standard/standard: 🌟 JavaScript Style Guide, with linter & automatic code fixer

ES6 入门教程

ESLint - 插件化的 JavaScript 代码检测工具 - ESLint中文文档

代码规范 - Apache ECharts


http://www.ppmy.cn/news/1545362.html

相关文章

GitHub | 发布到GitHub仓库并联文件夹的方式

推送到Github 推送步骤如果你只想更新单个文件&#xff0c;只需在第 4 步中指定该文件的路径即可。可能问题一 效果 推送步骤 更新 GitHub 仓库中的文件通常涉及以下步骤&#xff1a; 克隆仓库&#xff1a; 首先&#xff0c;你需要将 GitHub 上的仓库克隆到本地。使用 git …

在OceanBase 中,实现自增列的4种方法

本文作者&#xff1a;杨敬博&#xff0c;爱可生 DBA 团队成员。 背景描述 在OceanBase数据库中&#xff0c;存在MySQL租户与Oracle租户两种模式&#xff0c;本文主要讲解在 OceanBase 的Oracle模式&#xff08;以下简称OB Oracle&#xff09;&#xff0c;创建自增列的4种方式&…

【SQL实验】高级查询(难点.三)含附加数据库操作

完整代码在文章末尾【代码是自己的解答&#xff0c;并非标准答案&#xff0c;也有可能写错&#xff0c;文中可能会有不准确或待完善之处&#xff0c;恳请各位读者不吝批评指正&#xff0c;共同促进学习交流】 将素材中的“学生管理”数据库附加到SQL SERVER中&#xff0c;完成以…

Huffman(哈夫曼)编码(贪心)(笔记)

最优编码问题&#xff1a; 给出n个字符的频率ci&#xff0c;给每个字符赋予一个01编码串&#xff0c;使得任意一个字符的编码不是另一个字符的前缀&#xff08;这个称为前缀码&#xff09;&#xff0c;而且编码后的总长度&#xff08;每个字符的频率与编码长度乘积的总和&…

1.每日SQL----2024/11/7

题目&#xff1a; 计算用户次日留存率,即用户第二天继续登录的概率 表&#xff1a; iddevice_iddate121382024-05-03232142024-05-09332142024-06-15465432024-08-13523152024-08-13623152024-08-14723152024-08-15832142024-05-09932142024-08-151065432024-08-131123152024-…

ChatGPT的多面手:日常办公、论文写作与深度学习的结合

ChatGPT&#xff0c;由OpenAI精心打造的大型语言模型&#xff0c;依托于先进的人工神经网络技术&#xff0c;展现了在理解和生成自然语言文本方面的强大能力。该模型的核心设计宗旨是通过对话式交互&#xff0c;为用户带来前所未有的体验&#xff0c;无论是提供信息、答疑解惑&…

k8s图形化显示(KRM)

在master节点 kubectl get po -n kube-system 这个命令会列出 kube-system 命名空间中的所有 Pod 的状态和相关信息&#xff0c;比如名称、状态、重启次数等。 systemctl status kubelet #查看kubelet状态 yum install git #下载git命令 git clone https://gitee.com/duk…

网络安全知识见闻终章 ?

安全知识没有终点&#xff01;&#xff01;&#xff01; 一、软件和硬件设备的类型 1.软件程序的类型 2.硬件设备的类型 二、网络类型、协议、设备、安全 1.网络类型 2.网络协议 常见的网络协议 3、网络设备 a. 网络设备的分类 b. 网络设备的功能 4.网络安全 三、w…