整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端开发规范:命名规范、html规范、css规范、js规范


者:sunshine小小倩

转发链接:https://juejin.im/post/592d4a5b0ce463006b43b6da

前端中的命名规范:打造整洁代码的艺术

**引言:**

在前端开发的世界中,代码质量不仅体现在功能的实现,也体现在代码的可读性与维护性上。良好的命名规范正是提升代码质量不可或缺的一部分,它如同乐谱中的音符标识,清晰有序地引导着每一位阅读者理解程序的脉络。本文将深入探讨前端开发中的命名规范,结合实例代码,带你领略命名艺术的魅力,助你编写出更易于阅读、维护和扩展的代码。

---

### **一、HTML元素命名规范**

**标题:语义化命名,让HTML结构一目了然**

```html

<!-- 不良示例 -->

<div id="d1">标题</div>

<div id="c1">内容</div>

<!-- 优秀示例 -->

<header class="site-header">标题</header>

<section class="content-section">内容</section>

```

在HTML元素命名时,应尽量使用语义化的标签,如`<header>`、`<section>`等代替无意义的`<div>`。同时,使用类名(class)描述元素的用途或样式,如`.site-header`、`.content-section`等,增强代码的可读性。

---

### **二、CSS选择器与变量命名规范**

**标题:清晰、一致、描述性**

1. **CSS选择器命名**:


```css

/* 不良示例 */

#d1 { ... }

.c1 { ... }

/* 优秀示例 */

.site-header { ... }

.content-section { ... }

```

CSS选择器应遵循一致性原则,如使用BEM(Block Element Modifier)命名法,提高代码的复用性和模块化程度。

2. **CSS变量命名**:


```css

:root {

--primary-color: #1abc9c;

--font-size-base: 16px;

}

/* 使用变量 */

body {

font-size: var(--font-size-base);

color: var(--primary-color);

}

```

CSS变量命名应具有描述性,表明其用途,如`--primary-color`和`--font-size-base`。

---

### **三、JavaScript变量、函数与类命名规范**

**标题:驼峰式命名与帕斯卡式命名的抉择**

1. **变量命名**:


```javascript

// 不良示例

let s='hello';

let counter1=0;

// 优秀示例

let greeting = 'hello';

let currentCount = 0;

```

变量名应使用驼峰式命名法(camelCase),首字母小写,后续单词首字母大写,体现语义。

2. **函数命名**:


```javascript

// 不良示例

function c1(){...}

// 优秀示例

function calculateTotalPrice(){...}

```

函数名也应使用驼峰式命名法,并且名字应清晰反映其功能。

3. **类命名**:


```javascript

// 不良示例

class c1{...}

// 优秀示例

class ShoppingCart{...}

```

类名使用帕斯卡式命名法(PascalCase),所有单词首字母大写。

---

### **四、模块与文件命名规范**

**标题:清晰的目录结构与文件命名**

```bash

├── components/

│ ├── Button/

│ │ ├── Button.vue

│ │ └── index.js

│ ├── Header/

│ │ ├── Header.vue

│ │ └── index.js

├── utils/

│ ├── stringUtils.js

│ └── dateUtils.js

```

模块与文件命名应简洁明了,体现其内容和用途,同时保持目录结构的清晰和层级分明。

---

**结语:**

良好的命名规范就如同一把钥匙,帮助开发者快速理解代码含义,也为后期维护带来了极大的便利。在实际工作中,坚持遵循命名规范,不仅能提升团队协作效率,也有助于个人编程习惯的规范化和职业素养的养成。无论是HTML元素、CSS选择器,还是JavaScript变量与函数,乃至整个项目的架构,都应该体现出命名的艺术,共同编织出一片清爽、易读、易维护的代码森林。记住,好的代码本身就是最好的注释,而命名规范则是这幅画卷中最灵动的笔触。

程序开发过程中,我们始终要谨记的一点就是:程序是写给人看的,不是写给机器看的。任何项目开发,都必须要考虑到人员迭代,我们不能让下一个接手你代码的人,在看到你写的代码时会说出这样的话,“这个代码是人写出来的吗?可读性太差了”。因此,我们必须遵循一定的规范,让代码的可读性更强。

今天,我们就一起来看下前端开发过程所能涉及到的跟HTML有关的规范问题。

HTML5

文档类型

在HTML文件中,推荐使用支持HTML5特性的文档声明,<!DOCTYPE html>。

命名规范

首先是在文件的命名上,应当采用驼峰式命名,首字母小写,后面每个单词首字母大写,而且对于具体的文件应当具有语义化,能够给人一种直观的感受这个文件的作用是什么。现在前端开发开发过程中都讲求模块化开发,甚至是组件化开发,在文件命名时更应该以模块名或者组件名来命名。

例如在写一个AngularJS应用时,由于会涉及到Controller,Service,Filter等概念,我们会分别建立一个文件,假如这个模块的名字是库存管理stockManage,我们可以这样来命名文件。

  • stockManageCtrl

  • stockChangeService

  • stockChangeFilter

语义化

我们所说的语义化指的是使用具有语义化的标签,在H5中添加了类似于header, nav, article, section, aside, footer等标签,从单词的意思上我们也很容易看出标签的含义。

我们不推荐使用只有div标签的页面,例如

不推荐使用

而是应该使用以下这种带有语义化的标签。

推荐使用

img标签

img标签是网页用来显示照片的标签,在页面所有标签中占据的比例非常之高,但是在使用img标签时也有下面需要注意的点。

  • 给定width和height属性

因为浏览器在加载图片的过程中,需要先下载图片,然后再解析图片的高度和宽度,如果不给img元素设定高度和宽度,这样在图片加载过程中会不断的计算,重排页面的布局,在网络不好的时候就会经常出现元素出现不规律移动的情况。因此给img元素设定width和height属性是必要的。

  • alt属性

img标签的alt属性表示的是在图片无法显示时,使用文字来代替显示,它可以用在以下几个场景中:

  1. 网路延迟太大

  2. src属性指定路径出错

  3. 浏览器禁用图像

由于其有良好的信息提示效果,并且有助于网页SEO效果,强烈建议在img标签中使用alt属性

而且很重要的一点是img标签的引入是需要呈现出与页面相关的内容,其他情况应该使用CSS样式实现。例如我们不推荐下面这种情况。

不推荐

而推荐使用下面这种情况

推荐使用

文件分离

前端文件主要包括HTML页面文件,CSS样式文件和Javascript脚本文件。我们应该让三者各司其职,在HTML中不应该出现CSS和JS表达式;在JS文件中,不应该出现大量的HTML和CSS代码。在HTML文档中应当尽量少的引入CSS和JS文件。为了保证文件的纯净,我们应当遵循下面的原则。

  1. 一个HTML文件应该只引入一个CSS文件

  2. 合理运用JS合并技术(Gulp, Webpack插件),保证引入JS文件不多于两个

  3. 不使用行内脚本元素(<script>alert('Hello World')</script>)

  4. 不在标签上使用style内联样式

不要使用style属性

脚本加载

脚本加载在网页加载过程中是一个很耗性能的过程,如果把JS文件放在head标签里,它的加载会一直阻塞DOM的解析,造成页面延迟。

因此现在讲求的是脚本的异步加载过程,我们会使用到async关键字,考虑到浏览器的兼容性,我们推荐使用下面的方式加载脚本。

推荐方式

合理使用ID和锚点

合理使用ID和锚点可以非常方便的实现当前页面间的跳转,现在越来越多的教程网页由于是单页面,经常会用到锚点跳转。

对锚点知识还不了解的,可以看看我写的这篇文章《神奇的html锚点,让你的网页在内部自由的跳转》。

总结

今天这篇文章主要总结了前端开发过程中的HTML规范问题,相信大家也或多或少遇到过,希望这篇文章能加深大家的认识。