简要介绍

本文通过参考百度腾讯等前端编码规范(链接建文末),得出个人习惯的编码规范。个人编码规范采用在不影响可读性的情况下能省就省,尽量简洁,不需要就直接去掉。

最佳原则不管是个人编码规范还是团队编码规范,一旦规范制定完毕就应该坚持使用,保持前后规范一致。

笔记通过MarkDown写成,对应的GitHub地址为:https://github.com/xys2015/mdnote

命名规则

项目名称,目录名称,一律采用小写方式,以下划线分割。例如:my_project_name

常见命名推荐:img、js、css、src、dep

通用规范

  • 缩进4个空格。
  • 分号不能省略。
  • UTF-8编码。
  • 换行符使用LF
  • 在文件结尾处,保留一个空行。

HTML编码规范

规范速览

  1. 缩进使用4个空格。
  2. 属性值使用双引号。
  3. 属性名必须使用小写字母。
  4. id、class命名全小写用中划线做分隔符。
  5. 不要在自动闭合标签结尾处使用斜杠。
  6. 文件编码使用UTF-8。
  7. DOCTYPE这样写<!DOCTYPE html>
  8. charset这样写<meta charset="UTF-8">
  9. 引用CSS和JS时不用指明type属性。
  10. 布尔类型的属性,建议不添加属性值。
  11. JS标签引入放在</body>上面。
  12. 同一页面,应避免使用相同的nameid
  13. 对HTML5中规定允许省略的闭合标签,不允许省略闭合标签。

Note: 可以通过配置编辑器,使Tab键相当于4个空格

代码示例

<!DOCTYPE html>
<html>
<head>
<charset="UTF-8">
<title>Page title</title>
<link rel="stylesheet" href="page.css">
</head>
<body>
<img src="images/company_logo.png" alt="Company">
<h1 class="hello-world">Hello, world!</h1>
<input type="checkbox" value="1" checked>
<script src="esl.js"></script>
</body>
</html>

CSS编码规范

规范速览

  1. 缩进4个空格。
  2. 分号不能省略。
  3. UTF-8编码。
  4. 使用双引号。
  5. 选择器的嵌套层级应不大于3级,位置靠后的限定条件应尽可能精确。
  6. 属性书写顺序:布局方式、位置,尺寸、文本相关、视觉效果。
  7. 当一个rule包含多个selector时,每个选择器声明必须独占一行。
  8. url()函数中的路径不加引号。
  9. 长度为0时须省略单位。
  10. font-family属性中的字体族名称应使用字体的英文Family Name,其中如有空格,须放置在引号中。
  11. 关于空格、缩进规范,参考下面的代码示例。

代码示例

/* 11. 空格、换行 */
.selector {
margin: 0;
padding: 0;
} font-family: Arial, sans-serif; /* 6. 属性书写顺序 */
.sidebar {
/* formatting model: positioning schemes / offsets / z-indexes / display / ... */
position: absolute;
top: 50px;
left: 0;
overflow-x: hidden; /* box model: sizes / margins / paddings / borders / ... */
width: 200px;
padding: 5px;
border: 1px solid #ddd; /* typographic: font / aligns / text styles / ... */
font-size: 14px;
line-height: 20px; /* visual: colors / shadows / gradients / ... */
background: #f5f5f5;
color: #333;
-webkit-transition: color 1s;
-moz-transition: color 1s;
transition: color 1s;
} /* 7. 分组选择换行 */
.post,
.page,
.comment {
line-height: 1.5;
} /* 8. */
body {
background: url(bg.png);
} /* 10.
宋体 SimSun
黑体 SimHei
微软雅黑 Microsoft YaHei
*/
h1 {
font-family: "Microsoft YaHei";
}

JavaScript编码规范

规范速览

  1. 缩进4个空格。
  2. 分号不能省略。
  3. 空格、换行(见代码示例)。
  4. 优先使用单引号。
  5. 变量、函数、参数命名采用驼峰法。构造函数大写第一个字母。常量全大写,下划线连接。
  6. 每个var只能声明一个变量。
  7. 函数(见代码示例)。
  8. 数组、对象最后不要有逗号。

代码示例

// 1缩进 3空格、换行 7函数 8数组
switch (variable) { case '1':
// do...
break; case '2':
// do...
break; default:
// do... } var a = !arr.length;
a++;
a = b + c; if (condition) {
// some statements;
} else {
// some statements;
} while (condition) {
} function funcName() {
} (function() {
// do something
})(); var obj = {
a: 1,
b: 2,
c: 3
}; var func = function () {
}; funcName(); callFunc(a, b); if (user.isAuthenticated()
&& user.isInRole('admin')
&& user.hasAuthority('add-admin')
|| user.hasAuthority('delete-admin')
) {
// Code
} var task = (function () {
// Code
return result;
})(); // 4. 引号
var str = '我是一个字符串';
var html = '<div class="cls">拼接HTML可以省去双引号转义</div>'; // 5. 命名
var loadingModules = {}; // 变量
var HTML_ENTITY = {}; // 常量
function stringFormat(source) { } // 函数 function hear(theBells) {
} // 参数 function TextNode(options) {
} // 类

参考链接

  1. 百度前端编码规范:https://github.com/ecomfe/spec

  2. 腾讯前端规范:http://alloyteam.github.io/CodeGuide/

  3. 网易编码规范:http://nec.netease.com/

web前端编码规范的更多相关文章

  1. Web前端编码规范[转]

    先插入一条广告,博主新开了一家淘宝店,经营自己纯手工做的发饰,新店开业,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!店名: 小鱼尼莫手工饰品店经营: 发饰.头花.发夹.耳环等(手工制作)网店: ...

  2. HTML编码规范 - (WEB前端命名规范)

    HTML编码规范 (一)命名规则: 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wr ...

  3. WEB前端开发规范

    WEB前端开发规范 规范目的 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档.本文档如有不对或者不合适的地方请及时提出, 经讨论决定后方可更改. 基本 ...

  4. 前端编码规范(2)—— HTML 规范

    HTML 规范 文档类型 推荐使用 HTML5 的文档类型申明: <!DOCTYPE html>. (建议使用 text/html 格式的 HTML.避免使用 XHTML.XHTML 以及 ...

  5. WEB前端开发规范文档(转)

    http://codeguide.bootcss.com/  编写灵活.稳定.高质量的 HTML 和 CSS 代码的规范上面的文档 再结合下面的规范: 无论是从技术角度还是开发视角,对于web前端开发 ...

  6. Web 前端代码规范

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

  7. 网站开发进阶(三十八)Web前端开发规范文档你需要知道的事

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

  8. Web前端开发规范文档你需要知道的事

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

  9. WEB前端开发规范文档[转]

    为新项目写的一份规范文档, 分享给大家. 我想前端开发过程中, 无论是团队开发, 还是单兵做站, 有一份开发文档做规范, 对开发工作都是很有益的. 本文档由本人编写, 部分意见来源于网络, 以此感谢, ...

随机推荐

  1. c# 常用操作保留

    RanDom如何提高生成随机数的随机性 一个在线考试系统的项目,需要从题库中随机抽取试题,但是如果直接 Random ran=new Randon(),ran.Next(nummin,nummax); ...

  2. linux学习笔记30--命令at和crontab

    在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务. 通过'添加任务计划'的一步步引导,则可建立一 ...

  3. flutter开发目录

    1>环境 2>设计 3>登录 4>主页面 5>主页面明细 6>详情 7>商品明细 8>购物车 9>订单页 10>个人关于 11>搜索页

  4. TCP超时重传、滑动窗口、拥塞控制、快重传和快恢复

    TCP超时重传 原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止. 影响超时重传机制协议效率的一个关键参数是重传超时时 ...

  5. tomcat 内存溢出原因分析及解决

    一.错误提示:java.lang.OutOfMemoryError: Java heap space [原因分析] tomcat默认可以使用内存为128MB,在较大型的应用项目中不足以满足运行要求,在 ...

  6. java 获取服务器时间同步本地计算机时间

    http://hi.baidu.com/captives/item/25c8b80170a9b0ccf45ba6f8 ————————————————————————————————————————— ...

  7. 拖拽 支持ie6

    可随意拖拽方块至任一位置: 1.setCapture方法:多用于容器对象,效果是对指定的对象设置鼠标捕获.使在容器内的子对象的鼠标事件均由容器对象触发,因此,只能在容器对象的鼠标事件函数中进行处理.当 ...

  8. C#反射Assembly 详细说明,有项目例子

    1.对C#反射机制的理解2.概念理解后,必须找到方法去完成,给出管理的主要语法3.最终给出实用的例子,反射出来dll中的方法 反射是一个程序集发现及运行的过程,通过反射可以得到*.exe或*.dll等 ...

  9. [转]NBehave行为驱动测试关于story和scenarios

    原文: Behavior-Driven Development with NBehave 这里模拟了一个"银行账户"的类 一个余额属性,一个存款方法,一个撤销账户的方法,一个转账的 ...

  10. boost容器bimap简单使用

    C++标准提供了map和multi_map,把key映射到value;    但是这种映射是单向的,只能是key到value,不能反过来;    boost.bimap扩展了标准库映射型容器,提供双向 ...