注释

  • 17.1 使用 /** ... */ 作为多行注释。包含描述、指定所有参数和返回值的类型和值。

    1. // bad
    2. // make() returns a new element
    3. // based on the passed in tag name
    4. //
    5. // @param {String} tag
    6. // @return {Element} element
    7. function make(tag) {
    8. // ...stuff...
    9. return element;
    10. }
    11. // good
    12. /**
    13. * make() returns a new element
    14. * based on the passed in tag name
    15. *
    16. * @param {String} tag
    17. * @return {Element} element
    18. */
    19. function make(tag) {
    20. // ...stuff...
    21. return element;
    22. }
  • 17.2 使用 // 作为单行注释。在评论对象上面另起一行使用单行注释。在注释前插入空行。

    1. // bad
    2. const active = true; // is current tab
    3. // good
    4. // is current tab
    5. const active = true;
    6. // bad
    7. function getType() {
    8. console.log('fetching type...');
    9. // set the default type to 'no type'
    10. const type = this._type || 'no type';
    11. return type;
    12. }
    13. // good
    14. function getType() {
    15. console.log('fetching type...');
    16. // set the default type to 'no type'
    17. const type = this._type || 'no type';
    18. return type;
    19. }
  • 17.3 给注释增加 FIXMETODO 的前缀可以帮助其他开发者快速了解这是一个需要复查的问题,或是给需要实现的功能提供一个解决方式。这将有别于常见的注释,因为它们是可操作的。使用 FIXME -- need to figure this out 或者 TODO -- need to implement

  • 17.4 使用 // FIXME: 标注问题。

    1. class Calculator {
    2. constructor() {
    3. // FIXME: shouldn't use a global here
    4. total = 0;
    5. }
    6. }
  • 17.5 使用 // TODO: 标注问题的解决方式。

    1. class Calculator {
    2. constructor() {
    3. // TODO: total should be configurable by an options param
    4. this.total = 0;
    5. }
    6. }