• Web前端开发规范文档


    Web前端开发规范文档

    规范目的:

      使开发流程更加规范化。

    通用规范:

    • TAB键用两个空格代替(windos下tab键占四个空格,linux下TAB键占八个空格)。

    • CSS样式属性或者JAVASCRIPT代码后加“;”方便压缩工具“断句”。
    • 文件内容编码均统一为UTF-8

    • CSSJAVASCRIPT中的非注释类中文字符须转换成unicode编码使用,以避免编码错误时乱码显示。

     

    文件规范:

    • 文件名用英文单词,多个单词用驼峰命名法。

    • 一些浏览器会将含有这些词的作为广告拦截,文件命名、ID、CLASS等所有命名避免以下词汇。
    • `ad`、`ads`、`adv`、`banner`、`sponsor`、`gg`、`guangg`、`guanggao`等

     

    html书写规范:

      

    文档类型声明统一为HTML5声明类型,编码统一为UTF-8。

    1
    <meta charset="UTF-8">

      

     <HEAD>中添加信息。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <meta name="author" content="smile@kang.cool">//作者
    <meta name="description" content="hello">//网页描述
    <meta name="keywords" content="a,b,c">//关键字,“,”分隔
    <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT">//设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅
    <meta http-equiv="Pragma" content="no-cache">//禁止浏览器从本地机的缓存中调阅页面内容
    <meta http-equiv="Window-target" content="_top">//用来防止别人在框架里调用你的页面
    <meta http-equiv="Refresh" content="5;URL=http://kahn1990.com/">//跳转页面,5指时间停留5秒 网页搜索机器人向导。用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引
    <meta name="robots" content="none">//content的参数有all,none,index,noindex,follow,nofollow,默认是all
    <link rel="Shortcut Icon" href="favicon.ico">//收藏图标
    <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">//网页不会被缓存

       

    非特殊情况下CSS样式文件外链至HEAD之间,JAVASCRIPT文件外链至页面底部。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <!DOCTYPE html>
    <html>
    <head>
        <link rel="stylesheet" href="css/main.css">
    </head>
    <body>
        <!-- 逻辑代码 -->
        <!-- 逻辑代码底部 -->
        <script src="lib/jquery/jquery-2.1.1.min.js"></script>
    </body>
    </html>
       

    引入JAVASCRIPT库文件,文件名须包含库名称及版本号及是否为压缩版。

    1
    2
    jQuery-1.8.3.min.js
      

    引入JAVASCRIPT插件, 文件名格式为库名称+.+插件名称。

    1
    jQuery.cookie.js

     

    命名方式:

    1
    2
    3
    4
    CLASS --> nHeadTitle --> CLASS遵循小驼峰命名法(little camel-case
    ID --> n_head_title --> ID遵循名称+_
    NAME --> N_Head_Title --> NAME属性命名遵循首个字母大写+_
    <div class="nHeadTitle" id="n_head_title" name="N_Head_Title"></div>

    css书写规范:

      CSS书写顺序

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    .header {
    /* 显示属性 */
        display || visibility
        list-style
        position top || right || bottom || left
        z-index
        clear
        float
    /* 自身属性 */
        width max-width || min-width
        height max-height || min-height
        overflow || clip
        margin
        padding
        outline
        border
        background
    /* 文本属性 */
        color
        font
        text-overflow
        text-align
        text-indent
        line-height
        white-space
        vertical-align
        cursor
        content
        }; 

     兼容多个浏览器时,将标准属性写在底部

    1
    2
    3
    4
    -moz-border-radius: 15px; /* Firefox */
    -webkit-border-radius: 15px; /* Safari和Chrome */
    border-radius: 15px; /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 *//标准属性
    使用z-index属性尽量z-index的值不要超过150(通用组的除外),页面中的元素内容的z-index不能超过10(提示框等模块除外但维持在150以下),不允许直接使用(999~9999)之间大值。 

     

    减少使用影响性能的属性。

    1
    2
    3
    position:absolute;
    float:left;//如这些定位或浮动属性
    减少在CSS中使用滤镜表达式和图片repeat,尤其在body当中,渲染性能极差, 如果需要用repeat的话,图片的宽或高不能少于8px。

     

    javaScript书写规范:

    代码格式

    1
    2
    3
    4
    5
    "()"前后需要跟空格
    "="前后需要跟空格
    ","后面需要跟空格
    JSON对象需格式化对象参数
    ifwhilefordo语句的执行体用"{}"括起来

    "{}"格式如下

    1
    2
    3
    if (a==1) {
        //代码
    }; 

    下面类型的对象不建议用new构造

    1
    2
    3
    4
    5
    new Number
    new String
    new Boolean
    new Object //用{}代替
    new Array //用[]代替

    图片规范:

    命名应用小写英文数字_组合,便于团队其他成员理解

    1
    2
    header_btn.gif
    header_btn2.gif

    页面元素类图片均放入img文件夹,测试用图片放于img/testimg文件夹,psd源图放入psdimg文件夹。

    图片格式仅限于gifpngjpg等。用png图片做图片时,要求图片格式为png-8格式。

    注释规范:

    1
    JAVASCRIPT、CSS文件注释需要标明作者、文件版本、创建/修改时间、重大版本修改记录、函数描述、文件版本、创建或者修改时间、功能、作者等信息。
    /* 注释块 */

     

    开发及测试工具约定:

    1
    测试工具: 前期开发仅测试FireFox & IE8 & IE9 & Opera &Chrome & Safari
  • 相关阅读:
    jsonp的实现原理和缺点
    vue $set的使用初了解
    js将多维数组转换为一维数组
    微信小程序之页面打开数量限制
    ZOJ 1463 Brackets Sequence
    CSUOJ 1248 非变性聚丙烯酰胺凝胶电泳
    ZOJ 1524 Supermarket
    POJ 1012 Joseph
    ZOJ 1276 Optimal Array Multiplication Sequence
    POJ 1742 Coins
  • 原文地址:https://www.cnblogs.com/stella1024/p/7670217.html
Copyright © 2020-2023  润新知