WEB前端代码书写规范
WEB前端代码书写规范
1. 命名规范
a.ClassName命名
ClassName的命名应该尽量精短、明确,必须以单页面字母开头命名,且全部字母为小写,单词之间统一使用下划线 “_” 连接:
例如:‘首页页面-- .index_logo{}’
注意:
在代码量大的情况下,尽量避免使用后代选择器以及子代选择器,尽可能多的取CalssName名称,以防后期修改代码的不便
b.图片命名
图片业务(可选) +(mod_)图片功能类别(必选)+ 图片模块名称(可选)
注意:
- 图片精度:如@2X,@3X,不可出现,蓝湖下载默认自带后缀,需自己手动删除!!!图片格式根据项目需要进行下载(png、jpg、svg....)
- 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” 编码
- 静态页面使用.html后缀
- 主页统一使用index.html
- 广告样式或者is文件,不要用ad命名如ad.js,ad.css,ad.jpg
- 图片alt/title标签使用文章标题或者商品标题不为空
- 静态文件存放static目录下,按照功能分类创建二级目录如css,js,img
- 列表内容实用target="_blank”打开新页面
- HTML标签名、类名、标签属性和大部分属性值统一用小写
- 样式选择器,属性名,属性值关键字全部使用小写字母书写,属性字符串允许使用大小写
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前端代码书写规范相关推荐
- Web 前端代码规范
Web 前端代码规范 最后更新时间:2017-06-25 原始文章链接:https://github.com/bxm0927/web-code-standards 此项目用于记录规范的.高可维护性的前 ...
- html字面量编码,Web 前端代码规范
Web 前端代码规范 最后更新时间:2017-06-25 原始文章链接: 此项目用于记录规范的.高可维护性的前端代码,这是通过分析 Github 众多前端代码库,总结出来的前端代码书写规范. 目录前端 ...
- Web前端工程师开发规范必须要注意的事
Web前端工程师开发规范必须要注意的事 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范 ...
- c#书写规范之---代码书写规范
代码书写规范 格式化使代码的逻辑结构很明显.花时间确保源代码以一致的逻辑方式进行格式化,这对于您和你的开发小组,以及以后维护源代码的其他开发人员都有很大的帮助. 以下几点是推荐的格式 ...
- 网页编程代码书写规范
网页编程,也就是网页代码的编写,其实也就是编程代码的书写,一个好的网站,其网页编码,是比较规范的,条理清晰,格式简洁美观,可读性强,那到底怎样才能规范好代码的编写规范,是一个值得大家深思的问题,想想自 ...
- java 代码书写规范_代码书写规范和命名规范
上一篇给大家分享了一下,关于文档编写的几个概念.这篇文章阐述如果编写代码书写规范以及命名规范文档.[以java语言为例] 1.代码书写规范 代码书写规范,能够让不同的人,写出相同风格的代码.很多人都看 ...
- GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订 (转)
GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订 (转)[@more@]C++ Standard Library Style Guidelines DRAFT 1999-0 ...
- GNU的C++代码书写规范
GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订 C++ Standard Library Style Guidelines DRAFT 1999-02-26 ------ ...
- 天勤考研中数据结构的代码书写规范以及C与C++语言基础
考研综合应用题中算法设计部分的代码书写规范 头文件 头文件部分如果题目没有特殊说明可以去掉. 常量 如果题目中要用到一个常量,则在用的地方加上一句注释,说明某某常量已定义即可,不必在前面补上#defi ...
最新文章
- html地图自动适合窗口,【整理】用html和javascript实现类似百度地图的画布
- Vim 80列布局问题
- 帝国cms微信小程序算命小程序开发之指纹算命实现方法
- Menu [D3D9 Source]
- LVS工作总结之原理篇–DR模式
- 10分钟学会js处理json常用方法
- linux+网卡驱动社区,Linux下如何确定网卡所使用的驱动程序
- 你知道配置管理工具是什么吗_什么是配置管理工具?
- 安装Windows 10 V1909对CPU有什么要求?
- 2.12 Excel软件各工作区的显示和隐藏 [原创Excel教程]
- DOS窗口打开本地应用,打开chrome浏览器
- 无线网dns服务器设置错误,DNS错误怎么办(如何正确设置DNS)
- Vulkan层的简要说明
- 怎么把flac转换为mp3格式
- LSF---【如何搭建SGE】
- 安卓搜不到airpods_真心丢不起!那就教教你AirPods丢失后如何查找吧
- 存储英文字符字段类型用什么?
- linux 下dump的使用
- 谁更亏?刘强东事件让马云损失了56亿,而刘强东仅损失20亿!
- java毕业设计校园内推系统mybatis+源码+调试部署+系统+数据库+lw