前端开发文档规范

前端开发文档规划

基本原则

符合web标准(UTF-8,HTML5),语义化html(HTML5新增要求,减少div和span等无特定语义的标签使用),结构表现行为分离(HTML-CSS-JS代码分离,不同行为代码高内聚低耦合),兼容性优良(早期版本浏览器兼容,移动端和PC端设备兼容).页面性能方面(减少请求次数,例如使用精灵图和sass语法),代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度(减小repaint和reflow).

文件命名规范

1、 html,css,js,lib,images文件均存放至项目的目录中。如果使用相关前端框架,根据框架的文件格式进行合理布局。

2、 所有文件夹及文件使用英文命名(避免使用中文路径)。

3、 html文件:入口文件使用index.html。如果有对应的设计组设计原稿,需要将对应的设计稿和html文件命名一致并合理存放。

4、 css文件命名:后缀.css。通用initial.css,初始化base.css,首页index.css,其他页面按照对应的html命名。

5、 Js文件命名:英文命名,后缀.js.通用common.js,初始化base.js。 其他页面按照对应的html命名。

HTML规范
  1. 标签上属性的顺序建议如下:
    • class ( class 是为高可复用组件设计的,所以应处在第一位)
    • id name (id 更加具体且应该尽量少使用,所以将它放在第二位)
    • data-*
    • src for type href value
    • placeholder title alt
    • aria-* role
    • required readonly disabled
  2. 非特殊情况下CSS文件放在body部分标签后。非特殊情况下大部分JS文件放在标签尾部(如果需要界面未加载前执行的代码可以放在head标签后)避免行内JS和CSS代码。
  3. 所有编码需要遵循html(XML)标准,标签&属性&属性命名必须由小写字母及下划线数字组成,且所有标签必须闭合,包括br(),hr()等。属性值用双引号。
  4. 引入JS库文件,文件名须包含库名称及版本号及是否为压缩版,
比如jquery-1.4.1.min.js。引入插件,文件名格式为库名称+插件名称,比如jQuery.bootstrap.js。
  1. 尽量不使用选择器 (css3选择器)

举例:

<div class="content">
    <ul>
        <li>
            <a href=""></a>
            <a href=""></a>
            <a href=""></a>
        </li>
    </ul>
    <ul>
        <li>
            <a href=""></a>
            <a href=""></a>
            <a href=""></a>
        </li>
    </ul>
</div>
  1. 书写代码前,提高样式重复使用率。
JS书写规范

1、变量命名:驼峰式命名.原生JS变量要求是纯英文字母,首字母须小写,

如myVue。jQuery变量要求首字符为'_',其他与原生JS规则相同,如:_myVue。另,要求变量集中声明,避免全局变量.

2、类命名:首字母大写,驼峰式命名.如MyVue。

3、函数命名:首字母小写驼峰式命名.如myVue()。

4、 语言规范

  • 声明变量必须加上 let 关键字.不要再使用 var
  • 优先使用箭头函数
  • 使用模板字符串取代连接字符串

5、使用分号
如果仅依靠语句间的隐式分隔,有时会很麻烦,使用分号更能清楚哪里是语句 的起止,而且有些情况下,漏掉分号会出 BUG

6、声明

var let const 应该放在function 已进入函数的时候
注释变量的功能及代表的含义,且应以字母顺序排序.每个变量单独占一行以便添加注释


举例:
var totalPrice = 1; //totalPrice表示商品购物车的总价 √
var num = 10,totalNum = 100 ; 不建议

7、回调函数统一使用 Promise 函数,回调成功的参数统一为 res,错误参数为 err

let callback = new Promise((resolve, reject) => {
    if ( 异步操作成功 ){
        resolve(value);
    } else {
        reject(err);
    }
});
callback.then((res) => {
    console.log('成功回调!', res);
}).catch((err) => {
    console.log('失败回调!', err);
});

8、尽量避免使用存在兼容性及消耗资源的方法或属性,比如eval_r()&innerText。

9、后期优化中,JS非注释类中文字符须转换成unicode编码使用,以避免编码错误时乱码显示。

10、代码结构明了,加适量注释.提高函数重用率。

11、注重与html分离,减小reflow,注重浏览器性能.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值