WEB前端代码书写规范

1. 命名规范

a.ClassName命名

ClassName的命名应该尽量精短、明确,必须以单页面字母开头命名,且全部字母为小写,单词之间统一使用下划线 “_” 连接

例如:‘首页页面--  .index_logo{}’

注意:

在代码量大的情况下,尽量避免使用后代选择器以及子代选择器,尽可能多的取CalssName名称,以防后期修改代码的不便

b.图片命名

图片业务(可选) +(mod_)图片功能类别(必选)+ 图片模块名称(可选)

注意:

  1. 图片精度:如@2X,@3X,不可出现,蓝湖下载默认自带后缀,需自己手动删除!!!图片格式根据项目需要进行下载(png、jpg、svg....)
  2. Icon图标规则:小的icon图标,使用div盒子背景图的模式放入,不要使用img标签嵌套带入!!!

图片业务:

List item

pp_:拍拍

wx_:微信

sq_:手Q

jd_:京东商城

图片功能类别:

mod_:是否公共,可选

icon:模块类固化的图标

logo:LOGO类

spr:单页面各种元素合并集合

btn:按钮

bg:可平铺或者大背景

图片模块名称:

goodslist:商品列表

goodsinfo:商品信息

useravatar:用户头像

图片精度:

(蓝湖下载自带,需手动删除)

普清:@1x

Retina:@2x | @3x

css颜色命名

颜色16进制用小写字母;颜色16进制尽量用简写。

#JS代码规范

a.声明变量命名

  • 小驼峰命名
  • 语义化

b. 基本

2个空格缩进,必须正确缩进

分号、逗号之后必须空格或转行

左大括号不转行

左大括号之前一定有空格

若左右大括号在一行,则大括号内侧必须有空格。例如const obj = { a: 1, b: 2 }

双目运算符前后必须有空格 例如: a && b

非必要不写分号(无行末分号)

c. 变量

尽量少的使用var,没有显式赋值的变量必须用const,其余用let

允许多个变量共用声明和初始化语句,逗号隔开,但不能太长。例如:const a = 1, b = 2

变量名原则上使用小驼峰命名法(首字母小写,其余单词首字母大写),例如userInfo

对象内容很短时,可以在一行内完成

对象的最后一个成员后,不得添加逗号

对象成员变量赋值时,若属性名称和读取的变量名一致,则必须简写。

即const obj = { a: a}必须简写为const obj = { a }

d. 控制

if、else、for的执行语句块很短时,可以在行内完成,不必大括号展开。若换行,必须大括号展开。else应该与if的右大括号在同一行,此时else前后都有空格,即} else {

if、else if、else的层级嵌套尽量不要超过三层

3. 注释规范

a.HTML中单行注释

一般用于简单的描述,如某些状态描述、属性描述等
注释内容前后各一个空格字符,注释位于要注释代码的上面,单独占一行

·单行注释

说明: 单行注释以两个斜线开始,以行尾结束
语法: // 注释说明
使用规则:注释双斜杠后有一个空格

·多行注释

说明:以 /* 开头, / 结尾
语法:/ 注释说明 /
使用规则:第一行为/,最后行为*/,其他行以开始,并且注释文字与保留一个空格

·函数(方法)注释

语法:

/**
 * 函数说明
  * @author 作者
  * @param {参数类型} 描述信息
  * @return {返回类型} 描述信息

*/

### charset 字符集合

一般情况下统一使用 “UTF-8” 编码

  1. 静态页面使用.html后缀
  2. 主页统一使用index.html
  3. 广告样式或者is文件,不要用ad命名如ad.js,ad.css,ad.jpg
  4. 图片alt/title标签使用文章标题或者商品标题不为空
  5. 静态文件存放static目录下,按照功能分类创建二级目录如css,js,img
  6. 列表内容实用target="_blank”打开新页面
  7. HTML标签名、类名、标签属性和大部分属性值统一用小写
  8. 样式选择器,属性名,属性值关键字全部使用小写字母书写,属性字符串允许使用大小写

Css书写规范:

### 链接规范

页面内加载样式必须实用链接方式,不得穿插写入css样式

###样式规范

基本样式写入base.css,不用复写

#### 命名规范

避免id与calss重复

考虑命名重复率,取父级元素id/class命名部分命名main-nav:

重复率高的元素,实用自己姓名首字母命名部分,如: xm-clean:{}

同属性尽量写一起,如:margin:padding:…..width:height

避免使用table标签

###  DOCTYPE 声明

HTML文件必须加上 DOCTYPE 声明

### 页面语言lang

推荐使用属性值 `cmn-Hans-CN`(简体, 中国大陆),但是考虑浏览器和操作系统的兼容性,目前仍然使用 `zh-CN` 属性值

###像素单位

若考虑兼容性,像素单位建议使用rem

### 元素属性

元素属性值使用双引号语法

###图片规范

### 内容图

内容图多以商品图等照片类图片形式存在,颜色较为丰富,文件体积较大

- 优先考虑 JPEG 格式,条件允许的话优先考虑 WebP 格式

- 尽量不使用PNG格式,PNG8 色位太低,PNG24 压缩率低,文件体积大

- **PC平台单张的图片的大小不应大于 200KB。**

### 背景图

背景图多为图标等颜色比较简单、文件体积不大、起修饰作用的图片

- PNG 与 GIF 格式,优先考虑使用 PNG 格式,PNG格式允许更多的颜色并提供更好的压缩率

- 图像颜色比较简单的,如纯色块线条图标,优先考虑使用 PNG8 格式,避免不使用 JPEG 格式

- 图像颜色丰富而且图片文件不太大的(40KB 以下)或有半透明效果的优先考虑 PNG24 格式

- 图像颜色丰富而且文件比较大的(40KB - 200KB)优先考虑 JPEG 格式

- 条件允许的,优先考虑 WebP 代替 PNG 和 JPEG 格式

### 代码格式化

样式书写一般有两种(一种是紧凑格式 ,一种是展开格式),建议使用统一的展开格式书写

### 属性值引号

css属性值需要用到引号时,统一使用单引号

### 代码易读性

左括号与类名之间一个空格,冒号与属性值之间一个空格

逗号分隔的取值,逗号之后一个空格

为单个css选择器或新申明开启新行

颜色值 `rgb()` `rgba()` `hsl()` `hsla()` `rect()` 中不需有空格,且取值不要带有不必要的 0

属性值十六进制数值能用简写的尽量用简写

### 属性书写顺序

建议遵循以下顺序:

1. 布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)

2. 自身属性:width / height / margin / padding / border / background

3. 文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word

4. 其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …

IE兼容模式:用 <meta> 标签可以指定页面应该用什么版本的IE来渲染;

<meta http-equiv="X-UA-Compatible" content="IE=Edge">

以上代码告诉IE浏览器,IE8/9及以后的版本都会以最高版本IE来渲染页面。

根据HTML5规范,通常在引入CSS和JS时不需要指明type,因为text/css和text/javascript分别时它们的默认值。

<link rel="stylesheet" href="code_guide.css">

<script src="code_guide.js"></script>

属性顺序应该按照特定的顺序出现以保证易读性;

class

id

name

data-*

src, for, type, href, value , max-length, max, min, pattern

placeholder, title, alt

aria-*, role

required, readonly, disabled

WEB前端代码书写规范相关推荐

  1. Web 前端代码规范

    Web 前端代码规范 最后更新时间:2017-06-25 原始文章链接:https://github.com/bxm0927/web-code-standards 此项目用于记录规范的.高可维护性的前 ...

  2. html字面量编码,Web 前端代码规范

    Web 前端代码规范 最后更新时间:2017-06-25 原始文章链接: 此项目用于记录规范的.高可维护性的前端代码,这是通过分析 Github 众多前端代码库,总结出来的前端代码书写规范. 目录前端 ...

  3. Web前端工程师开发规范必须要注意的事

    Web前端工程师开发规范必须要注意的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范 ...

  4. c#书写规范之---代码书写规范

    代码书写规范          格式化使代码的逻辑结构很明显.花时间确保源代码以一致的逻辑方式进行格式化,这对于您和你的开发小组,以及以后维护源代码的其他开发人员都有很大的帮助. 以下几点是推荐的格式 ...

  5. 网页编程代码书写规范

    网页编程,也就是网页代码的编写,其实也就是编程代码的书写,一个好的网站,其网页编码,是比较规范的,条理清晰,格式简洁美观,可读性强,那到底怎样才能规范好代码的编写规范,是一个值得大家深思的问题,想想自 ...

  6. java 代码书写规范_代码书写规范和命名规范

    上一篇给大家分享了一下,关于文档编写的几个概念.这篇文章阐述如果编写代码书写规范以及命名规范文档.[以java语言为例] 1.代码书写规范 代码书写规范,能够让不同的人,写出相同风格的代码.很多人都看 ...

  7. GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订 (转)

    GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订 (转)[@more@]C++ Standard Library Style Guidelines  DRAFT 1999-0 ...

  8. GNU的C++代码书写规范

    GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订 C++ Standard Library Style Guidelines  DRAFT 1999-02-26 ------ ...

  9. 天勤考研中数据结构的代码书写规范以及C与C++语言基础

    考研综合应用题中算法设计部分的代码书写规范 头文件 头文件部分如果题目没有特殊说明可以去掉. 常量 如果题目中要用到一个常量,则在用的地方加上一句注释,说明某某常量已定义即可,不必在前面补上#defi ...

最新文章

  1. html地图自动适合窗口,【整理】用html和javascript实现类似百度地图的画布
  2. Vim 80列布局问题
  3. 帝国cms微信小程序算命小程序开发之指纹算命实现方法
  4. Menu [D3D9 Source]
  5. LVS工作总结之原理篇–DR模式
  6. 10分钟学会js处理json常用方法
  7. linux+网卡驱动社区,Linux下如何确定网卡所使用的驱动程序
  8. 你知道配置管理工具是什么吗_什么是配置管理工具?
  9. 安装Windows 10 V1909对CPU有什么要求?
  10. 2.12 Excel软件各工作区的显示和隐藏 [原创Excel教程]
  11. DOS窗口打开本地应用,打开chrome浏览器
  12. 无线网dns服务器设置错误,DNS错误怎么办(如何正确设置DNS)
  13. Vulkan层的简要说明
  14. 怎么把flac转换为mp3格式
  15. LSF---【如何搭建SGE】
  16. 安卓搜不到airpods_真心丢不起!那就教教你AirPods丢失后如何查找吧
  17. 存储英文字符字段类型用什么?
  18. linux 下dump的使用
  19. 谁更亏?刘强东事件让马云损失了56亿,而刘强东仅损失20亿!
  20. java毕业设计校园内推系统mybatis+源码+调试部署+系统+数据库+lw

热门文章

  1. 力扣235-会议室II-C++
  2. Android Goldfish详解之二
  3. 简单介绍线程和进程区别
  4. MySQL数据库数据类型概述
  5. ado的mysql参数化_ADO参数化(VBA)
  6. ExtJs之结构树 Ext.tree.panel详细用法
  7. Creo二次开发异步模式配置
  8. 常用的Web安全认证方式
  9. linux中nginx的安装(源码安装)及简单应用(二)
  10. 【方法】搭建自己的个人博客主页