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

一、规范命名的重要性

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

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.mzph.cn/web/58133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Navicat 连接远程腾讯云服务器的MySQL数据库

首先需要开放开放腾讯云安全端口&#xff0c;可以参考这个链接腾讯云服务器入站规则端口开放使用指南(CentOS系统)。 但是注意需要开放的是IPv6&#xff0c;这个可以通过netstat命令查看确认。 然后查看当前用户信息 select user, host from mysql.user一般看到的都是 localh…

第三十四篇:URL和URI的区别,HTTP系列一

前面我们讲到通过TCP协议通信双方建立可靠连接&#xff0c;那么此时双方进行通信&#xff0c;需要用人能理解的形式进行信息组织&#xff0c;也就是为各种特定需求服务&#xff0c;满足日常生活中的各种场景。 比如&#xff1a;网页浏览、电子邮件、远程登录、文件传输、网络管…

什么情况下,不推荐建立索引?

一般有以下几种情况不推荐建立索引&#xff1a; 1&#xff09;对于数据量很小的表 当表的数据量很小&#xff08;如几百条记录&#xff09;时&#xff0c;建立索引并不会显著提高查询性能&#xff0c;反而可能增加管理的复杂性&#xff1b; 2&#xff09;频繁更新的表 对于…

GitHub上传自己的项目

目录 一、安装Git插件 1&#xff09;下载 2&#xff09;安装 二、创建Gothub的创库 三、通过Git上传本地文件到Github 四、其他 1、部分指令 2、如果已经运行过git init并设置了[user]&#xff0c;下次可以直接用 一、安装Git插件 1&#xff09;下载 下载地址&#x…

你需要了解的Android主题相关知识

在 Android 开发中&#xff0c;主题&#xff08;Theme&#xff09;是用于定义应用的视觉风格的一组样式集合。主题决定了应用的配色、字体样式、控件外观等&#xff0c;是整个应用的一致性视觉体验的重要组成部分。以下是对 Android 主题的全面介绍&#xff0c;包括主题的基础概…

寻找符合要求的最长子串

题目描述 给定一个字符串 s s s &#xff0c;找出这样一个子串&#xff1a; 1&#xff09;该子串中的任意一个字符最多出现2次&#xff1b; 2&#xff09;该子串不包含指定某个字符&#xff1b; 请你找出满足该条件的最长子串的长度。 输入描述&#xff1a; 第一行为要求…

【Linux 从基础到进阶】 灾难恢复自动化工具与脚本

灾难恢复自动化工具与脚本 在现代企业中&#xff0c;自动化工具和脚本在灾难恢复&#xff08;Disaster Recovery, DR&#xff09;中扮演着至关重要的角色。它们不仅提高了恢复过程的效率和准确性&#xff0c;还减少了人为错误的风险。本文将介绍一些常用的灾难恢复自动化工具及…

「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提醒功能实现

本篇将带领你实现一个倒计时和提醒功能的应用&#xff0c;用户可以设置倒计时时间并开始计时。当倒计时结束时&#xff0c;应用会显示提醒。该项目涉及时间控制、状态管理和用户交互&#xff0c;是学习鸿蒙应用开发的绝佳实践项目。 关键词 UI互动应用倒计时器状态管理用户交互…

重装系统后,把Anaconda从硬盘恢复方法(亲测可用)

1.首先保证安装目录文件完整 2.添加系统环境变量 E:\anaconda E:\anaconda\Scripts E:\anaconda\Library\bin E:\anaconda\Library\mingw-w643然后进入安装目录打开cmd命令窗口&#xff0c;输入一下如下命令 python .\Lib\_nsis.py mkmenus4.如果需要cuda恢复&#xff0c;只…

Linux动态库和静态库

1&#xff0c;手动制作静态库 1&#xff0c;如何形成静态库文件 做库时&#xff0c;头文件(.h)必须暴露&#xff0c;源文件(.c)必须隐藏。 操作&#xff1a;将需要形成库的文件编译成.o文件&#xff1a; 然后用指令&#xff1a;ar -rc libmy_stdio.a my_stdio.o my_string.o…

java基础之 String\StringBuffer\ StringBuilder

文章目录 String字符串的创建为什么说String是不可变的&#xff1f;创建后的字符串存储在哪里&#xff1f;字符串的拼接String类的常用方法 StringBuilder & StringBuffer使用方法验证StringBuffer和StringBuilder的线程安全问题 总结三者区别什么情况下用运算符进行字符串…

【计网不挂科】计算机网络期末考试中常见【选择题&填空题&判断题&简述题】题库(3)

前言 大家好吖&#xff0c;欢迎来到 YY 滴计算机网络 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的计算机网络题目&#xff0c;供yy应对期中考试复习。大家可以参考 欢迎订阅 YY滴其他专栏&#xff01;…

告别繁琐统计,一键掌握微信数据

微信数据管理的挑战在数字时代&#xff0c;微信已成为我们日常沟通和商业活动的重要工具。然而&#xff0c;随着微信号数量的增加&#xff0c;手动统计每个账号的数据变得越来越繁琐。从好友数量到会话记录&#xff0c;再到转账和红包&#xff0c;每一项都需要耗费大量的时间和…

Oracle分区技术特性

Oracle 的分区是一种“分而治之”的技术&#xff0c;通过将大表、索引分成可以独立管理的、小的 Segment&#xff0c;从而避免了对每个对象作为一个大的、单独的 Segment 进行管理&#xff0c;为海量数据访问提供了可伸缩的性能。自从 Oracle 引入分区技术以来&#xff0c;Orac…

ArkTS常用数据处理:掌握核心技能与实践

在HarmonyOS应用开发中&#xff0c;ArkTS作为主要的开发语言&#xff0c;其数据处理能力是构建高效应用的关键。本文将详细介绍ArkTS中的常用数据处理方法&#xff0c;包括基本数据类型、数组、枚举、对象和XML解析与生成等&#xff0c;以及它们在实际开发中的应用和最佳实践。…

bert-base-chinese模型使用教程

向量编码和向量相似度展示 import torch from transformers import BertTokenizer, BertModel import numpy as npmodel_name "C:/Users/Administrator.DESKTOP-TPJL4TC/.cache/modelscope/hub/tiansz/bert-base-chinese"sentences [春眠不觉晓, 大梦谁先觉, 浓睡…

HTML+CSS科技感时钟(附源码!!!)

预览效果 源码(直接复制使用) <!DOCTYPE html> <html lang"zh-Hans"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>科技感时钟</…

Docker配置国内源加速

Docker配置国内源加速 添加配置文件/etc/docker/daemon.json, 内容如下&#xff1a; {"registry-mirrors": ["https://6kx4zyno.mirror.aliyuncs.com"] }本人使用的是阿里云服务器&#xff0c;所以配了个阿里云的 使配置生效 systemctl daemon-reload …

论文精读系列

​ ViT (Vision Transformer) 『论文精读』Vision Transformer(VIT)论文解读 ​

深入理解 ZooKeeper:分布式协调服务的核心与应用

一、引言 随着互联网技术的飞速发展&#xff0c;分布式系统的规模和复杂性不断增加。在分布式环境中&#xff0c;各个节点之间需要进行高效的协调和通信&#xff0c;以确保系统的正常运行。ZooKeeper 正是为了解决分布式系统中的协调问题而诞生的一款开源软件。它提供了一种简单…