前端编码规范



坚持使用好的代码规范,无论团队人数多少,代码风格应该一致

引用 Code Guide by @AlloyTeam

目录、文件命名规则

HTML语法书写规则

    <!DOCTYPE html>

    <html>

        <head>
            <title>Page title</title>
        </head>

        <body>
            <img src="pic/apple.jpg" alt="apple">

            <h1 class="Hello_world">Hello World!</h1>
        </body>

    </html>

HTML命令规则

    <!DOCTYPE html>

    <html lang="en-us">

        <head>
            <meta charset="UTF-8">
            <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        </head>

    </html>

HTML属性出现顺序

属性应该按特定的顺序出现以保证易读性:

class是为高可复用组件设计的,所以应处于第一位; id更加具体且应该尽量少用,所以將它放在第二位;
如:

    <a class="..." id="..." data-model="abc" href="#">Example link</a>

    <input class="form-control" type="text">

    <img src="..." alt="...">

HTML其他

CSS, SCSS语法书写规则

如:

    .element{
        position: absolute;
        top: 10px;
        left: 10px;

        border-radius: 10px;
        width: 50px;
        height: 50px;
    }

CSS, SCSS空格出现规则

以下情况不需要空格:

以下情况需要空格:

CSS, SCSS注释书写规则

CSS, SCSS引号书写规则

CSS, SCSS命名规则

CSS, SCSS属性声明顺序

CSS, SCSS其他规则

JavaScript语法书写规则

如:

    var x = 1,
        y = 'foo',
        z = '<div id="test"></div>';

    if (x < y) {
        x += 10;
    } else {
        x += 1;
    }

JavaScript分号使用规则

需要加分号的情况:

如:

    var x = 1;

    x++;

    do {
        x++;
    } while(x < 10);

JavaScript空格使用规则

不需要加空格的情况:

需要加空格的情况:

如:

    var a = {
        b: 1
    }

    ++x;
    y++;
    z = x ? 1 : 2;

    var a = [1, 2];
    var a = (1 + 2) * 3;

    for (int i = 0; i < 8; i++) {
        i++;
    }

JavaScript空行出现规则

需要空行的几种情况:

如:

    var a, 
        foo = 7,
        b, c, d = 8;

JavaScript注释规则

JavaScript变量命名规则

如:

    var thisIsMyName;

    var goodID;

    var reportURL;

    var AndroidVersion;

    var iOSVersion;

    var MAX_COUNT = 10;

    function Person(name) {
        this.name = name;
    }

    var $body = $('body')

JavaScript数组、对象基本规则

如:

    var a = {b: 1};

    var a = {
        b: 1,
        c: 2
    }

JavaScript括号使用规则

JavaScript null使用场景

适用场景:

不适用场景:

JavaScript undefined使用场景

jshint

其他规范