zoukankan      html  css  js  c++  java
  • 关于codestyle

    如果你的代码易于阅读,那么代码中bug也将会很少,因为一些bug可以很容被调试,并且,其他开发者参与你项目时的门槛也会比较低。因此,如果项目中有多人参与,采取一个有共识的编码风格约定非常有必要。

    以todomvc的编码要求为例:

    General Rules

    • Tab indentation
    • Single-quotes
    • Semicolon
    • Strict mode
    • No trailing whitespace
    • Variables at the top of the scope
    • Multiple variable statements
    • Space after keywords and between arguments and operators
    • Return early
    • JSHint valid
    • Consistency

    Example:

    'use strict';
    
    function foo(bar, fum) {
        var i, l, ret;
        var hello = 'Hello';
    
        if (!bar) {
            return;
        }
    
        for (i = 0, l = bar.length; i < l; i++) {
            if (bar[i] === hello) {
                ret += fum(bar[i]);
            }
        }
    
        return ret;
    }

    Read idiomatic.js for general JavaScript code style best practices.

    Anonymous Functions

    When using anonymous functions, leave a space between the function name and opening parenthesis.

    Example:

    (function () {
        'use strict';
    
        var thanks = 'mate';
    })

    Strict mode

    Strict mode should be used wherever possible, but must never be globally applied. Instead, use it inside an IIFE as shown above

    Comments

    Inline comments are a great way of giving new users a better understanding of what you're doing and why.

    It's also helpful to let your functions breathe, by leaving additional lines between statements.

    Example:

    // Ok.
    var removeTodo = function (todoItem) {
        var todoModel = todoItem.getModel(); // Grab the model from the todoItem.
        todoItem.find('.destroy').click(); // Trigger a click to remove the element from the <ul>.
        todoModel.remove(); // Removes the todo model from localStorage.
    };
    
    // Better.
    var removeTodo = function (todoItem) {
        // Grab the model from the todoItem.
        var todoModel = todoItem.getModel();
    
        // Trigger a click to remove the element from the <ul>.
        todoItem.find('.destroy').click();
    
        // Removes the todo model from localStorage.
        todoModel.remove();
    };

    RequireJS

    When using RequireJS, please format your code to these specifications:

    define('Block', [
        'jQuery',
        'Handlebars'
    ], function ($, Handlebars) {
        'use strict';
    
        // Code here.
    });

    JSHint

    When you submit your pull request, one of the first things we will do is run JSHint against your code.

    You can help speed the process by running it yourself:

    jshint path/to/your/app/js

    Your JSHint code blocks must follow this style:

    /*global define, App */
    /*jshint unused:false */

     

    一些达成共识的JavaScript编码风格约定

    http://www.iteye.com/news/28028-JavaScript-code-style-guide

  • 相关阅读:
    SpringBoot(八):SpringBoot中配置字符编码 Springboot中文乱码处理
    SpringBoot(二): SpringBoot属性配置文件 SpringBoot多环境配置文件 SpringBoot自定义配置文件
    使用Maven新建SpringBoot工程
    SpringBoot(四): SpringBoot web开发 SpringBoot使用jsp
    SpringBoot(三):SpringBoot热部署插件
    SpringBoot(六):SpringBoot中如何使用Servlet?
    ARQ自动重传请求与UDP提供可靠交付
    多线程程序中操作的原子性转帖
    多目录的Makefile
    VC++小小绘图程序
  • 原文地址:https://www.cnblogs.com/alexandra/p/3684368.html
Copyright © 2011-2022 走看看