码迷,mamicode.com
首页 > 其他好文 > 详细

前端开发规范手册:(一)基本原则

时间:2017-09-25 16:07:38      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:web   ast   not   快捷   pre   怎样   format   set   cond   

 

1、结构、样式、行为分离

尽量确保文档和模版只包含HTML结构,样式都放到样式表中,行为都放到脚本里。

 

2、缩进

统一两个空格缩进(总之缩进统一即可),不要使用Tab键或者Tab和空格混搭。

 

3、文件编码

使用不带BOM的UTF-8编码。

  • 在HTML中指定编码
<meta charset="utf-8">
  • 无需使用 @charset 指定样式表的编码,它默认为 UTF-8 (参考 @charset);

 

4、一律使用小写字母

<!-- Recommended --><img src="google.png" alt="Google"><!-- Not recommended --><A HREF="/">Home</A>
/* Recommended */color: #e5e5e5;/* Not recommended */color: #E5E5E5;

 

5、省略外链资源URL协议部分

省略外链资源(图片及其它媒体资源)URL中的http/https协议,使URL成为相对地址,避免Mixed Content问题,减小文件字节数。

其他协议(ftp等)的URL不省略。

<!-- Recommended --><script src="//www.w3cschool.cn/statics/js/autotrack.js"></script><!-- Not recommended --><script src="http://www.w3cschool.cn/statics/js/autotrack.js"></script>
/* Recommended */
.example {  background: url(//www.google.com/images/example);}
/* Not recommended */
.example {  background: url(http://www.google.com/images/example);}

 

6、统一注释

通过配置编辑器,可以提供快捷键来输出一只认可的注释模式。 

 (1)HTML 注释

  • 模块注释

<!-- 文章列表注释 -->
<div class="article-list">...</div>
  • 区块注释
<!--
@name: Drop Down Menu
@description: Style of top bar drop down menu.
@author: Ashu(Aaaaaashu@gmail.com)
-->

 (2)CSS 注释

  组件块和子组件块以及声明块之间使用一空行分隔,子组件块之间三空行分隔;

/* ==========================================================================
   组件块
 ============================================================================ */

/* 子组件块 ============================================================================ */
.selector { padding: 15px; margin-bottom: 15px;}

/* 子组件块 ============================================================================ */
.selector-secondary { display: block; /* 注释*/}
.selector-three { display: span;}

 

 (3)JavaScript 注释

  • 单行注释

  必须独占一行

  // 后跟一个空格,缩进与下一行被注释说明的代码一致。

  • 多行注释

  避免使用 /*...*/ 这样的多行注释。有多行注释内容时,使用多个单行注释。

  • 函数/方法注释
  • 函数/方法注释必须包含函数说明,有参数和返回值时必须使用注释标识。;
  • 参数和返回值注释必须包含类型信息和说明;
  • 当函数是内部函数,外部不可访问时,可以使用 @inner 标识;
/**
 * 函数描述
 *
 * @param {string} p1 参数1的说明
 * @param {string} p2 参数2的说明,比较长
 *     那就换行了.
 * @param {number=} p3 参数3的说明(可选)
 * @return {Object} 返回值描述
 */
function foo(p1, p2, p3) {
  var p3 = p3 || 10;
return { p1: p1, p2: p2, p3: p3 }; }
  • 文件注释

  文件注释用于告知这个文件的读者,这个文件中包含哪些东西。

  应该提供文件的大体内容、作者、依赖关系和兼容性信息。

  如下:

/**
 * @fileoverview Description of file, its uses and information
 * about its dependencies.
 * @author user@meizu.com (Firstname Lastname)
 * Copyright 2015 Meizu Inc. All Rights Reserved.
 */

   

7、代码验证

  代码验证不是最终目的,真的目的在于让开发者在经过多次的这种验证过程后,能够深刻理解到怎样的语法或写法是非标准和不推荐的,即使在某些场景下被迫要使用非标准写法,也可以做到心中有数。

 

前端开发规范手册:(一)基本原则

标签:web   ast   not   快捷   pre   怎样   format   set   cond   

原文地址:http://www.cnblogs.com/yongzhenye/p/7591978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!