Vscode guarda automáticamente el código y formatea automáticamente la configuración del código de acuerdo con las especificaciones estándar y de eslint

La importancia del estilo

Si ha estado programando durante un tiempo, seguramente tendrá un estilo que le guste. Cuando codifica en un cierto patrón cientos o miles de veces, encontrará que la forma en que codifica es agradable. De repente, alguien pasó y comenzó a señalar los frenos que colgaban al final de la línea. Podrías quejarte. Tome una respiración profunda y piénselo, donde coloca los corchetes o pone un espacio después de la palabra clave no hará que su programa sea más correcto, es solo una preferencia personal.

JavaScript no tiene una guía de estilo de codificación oficial

Adoptar un estilo de codificación estándar significa que la claridad del código y las convenciones de la comunidad tienen prioridad sobre los estilos de codificación individuales. Esto no se aplica necesariamente a todos los proyectos y culturas de desarrollo, pero el código abierto de un proyecto puede ser muy abrumador para los novatos. Establecer un estilo de codificación claro y automático que satisfaga las expectativas de los colaboradores puede conducir a un desarrollo de proyectos más saludable.

Si está escribiendo un programa para usted y nadie más necesita contribuir con usted, use las herramientas y el estilo de codificación que lo hagan más feliz. Cuando trabajas en equipo, debes tratar de minimizar la fricción, ser profesional y no perder demasiado tiempo en cosas pequeñas.

Antes de introducir su propio estilo, tómese el tiempo para aprender el estilo de una base de código existente.

Estilo estándar de JavaScript (estilo de codificación estándar de JavaScript)

  • Use dos espacios  - para la sangría
  • Las cadenas usan comillas simples  , excepto cuando se requiere escapar
  • No más variables redundantes  : ¡una fuente de  muchos  errores!
  • Sin punto y coma  : aquí hay 3 artículos que explican los beneficios de no tener punto y coma: Artículo 1  Artículo 2  Artículo 3
  •  No comience la línea con  ([`
  • Este es el único lugar donde omitir el punto y coma puede causar problemas: ¡  se ha agregado la detección automática a la herramienta!
  • [Detalles][4]
  • Agregar un espacio después de la palabra clave if (condition) { ... }
  • Agregue un espacio después del nombre de la función function name (arg) { ... }
  • Limítese al  Descarte === congruente  == , pero  null || undefined utilícelo cuando  sea necesario verificar obj == null.
  • err Asegúrese de manejar los argumentos pasados ​​a la devolución de llamada de error en Node.js. 
  • Cuando se usan globales de navegador  window con el prefijo –  document y  navigator excepto
  • Evite el uso involuntario de estas variables globales aparentemente ordinarias,  openlength,
    event etc. name
  • Ver  lista completa de reglas

La regla más controvertida es sin duda la ausencia de punto y coma. Durante muchos años se ha creído que el uso consistente de punto y coma es una mejor práctica para evitar errores, Crockford ha hecho mucho para promover esto, el uso de punto y coma tiene raíces profundas, en lenguaje C los punto y coma son estrictamente necesarios, de lo contrario el programa no funcionará. correr.

El estilo estándar de JavaScript (estilo de codificación estándar de JavaScript) cambió de opinión, JavaScript sin punto y coma es muy bueno.

La inserción automática de punto y coma es una característica de JavaScript que reduce el ruido y simplifica los programas. Nunca me he encontrado con un error debido a la falta de un punto y coma, y ​​no creo que usted tampoco. Consulte  ¿Se requieren puntos y comas en JavaScript?  para obtener más información.

No todos están de acuerdo, los tenedores  semiestándar  y  la felicidad  son un poco detractores, enfatizando el uso de punto y coma. Encuentro estos tenedores un poco sentimentales porque pierden el punto de ignorar todo el estándar.

Si no estoy de acuerdo con una regla, ¿se puede cambiar?

No. El propósito de formular este conjunto  standard de especificaciones es evitar que todos pierdan el tiempo en disputas innecesarias sobre el estilo del código. La cuestión de si usar tabulaciones o espacios para la sangría se ha debatido durante mucho tiempo y nunca habrá una respuesta. Discutir sobre esto puede escribir los requisitos por adelantado. Sigue  standard la norma y no tendrás que dudar más, después de todo, no importa cómo discutas, siempre elegirás un estilo. Espero que todos también puedan hacer un intercambio entre la semántica personal y el valor universal.

Personalmente, me ha gustado el estilo de codificación sin punto y coma, quizás debido a la necesidad de escribir Ruby, Python y CoffeeScript, que no usan la sintaxis de punto y coma. Por alguna razón, encuentro que los programas son más claros cuando los puntos y comas están fuera de la vista.

buena jerarquía del programa

Los programadores deben prestar atención a:

  1. exactitud
  2. legibilidad
  3. Felicidad
  4. alta eficiencia

Resulta que adoptar el estilo estándar de JavaScript (estilo de codificación estándar de JavaScript) es beneficioso para cada uno de los anteriores.

exactitud

Cualquier cosa que se use en todos los programas, debe hacer lo que usted quiere y estar libre de errores.

El estilo de codificación no hace que un programa sea más correcto, pero las herramientas de verificación pueden ayudarlo a detectar algunos errores antes de publicarlos.

legibilidad

Como desarrollador profesional, además de proporcionar un código de programa que pueda ejecutarse normalmente, la legibilidad del código es lo más importante. Leer y tratar de comprender un programa requiere más esfuerzo y tiempo que escribirlo, así que optimícelo para que sea legible para usted mismo en el futuro y para otras personas que mantienen su código.

Un estilo claro y predecible hace que el código sea más fácil de leer y comprender.

La felicidad del programador

Una de las razones por las que me gusta el estilo estándar de JavaScript (estilo de codificación estándar de JavaScript) es que se enfoca en las personas en lugar de las máquinas. La única razón por la que la felicidad del programador ocupa el tercer lugar en esta lista es que la legibilidad es más necesaria en el trabajo en equipo, y la corrección del código funcional debe anteponerse a nuestra propia felicidad, lo cual está fuera de toda duda.

Quieres disfrutar de la vida, ¿no? Si haces las cosas rápido y tu trabajo es divertido, ¿no es eso lo que queremos disfrutar de la vida? Esto es en parte para lo que vivimos. Tu vida será mejor.

– Yukihiro Matsumoto (Nota de Fool’s Wharf: Matsumoto Yukihiro es un informático y programador japonés. Es el principal diseñador e implementador del lenguaje de programación Ruby).

La vida es demasiado corta para causar diferencias de opinión debido a las diferencias en las preferencias personales ¿No sería mejor establecer un estándar y seguir adelante? Será más feliz si un estilo de codificación estándar evita desacuerdos y fricciones entre equipos.

alta eficiencia

Enumerado en último lugar, pero no menos importante.

Si tiene que hacer concesiones entre estos puntos, debe poner más énfasis en la corrección del código, la legibilidad y hacer que los programadores se sientan felices de escribir código rápidamente.

Las computadoras son rápidas. Si el programa es eficiente, está bien. Si nota un rendimiento deficiente, dedique tiempo a encontrar cuellos de botella de rendimiento y hacer que su código sea más eficiente.

Los humanos son relativamente lentos en el procesamiento de problemas. Hacer las cosas más eficientes es más valioso para nosotros. La claridad de adoptar un estilo de codificación estándar permite que su código se entienda y se contribuya más rápidamente. También se dedica mucho menos tiempo a los desacuerdos, lo cual es muy bienvenido.

Agregue algunas configuraciones propias (ESlint y Standard)

1. Instalar dependencias

Instale eslint y estándar en el directorio del proyecto (es un estilo de código, que es consistente con el predeterminado para proyectos de tipo vue, y otros estilos son opcionales)

cmd al directorio raíz del proyecto, ejecute el siguiente comando:

1 npm i eslint estándar --save-dev

2. Configuración personal de eslint ( agregue el archivo .eslintrc.js en el directorio raíz del proyecto ) usando reglas estándar

module.exports = {
  root: true,
  parser: 'babel-eslint',
  parserOptions: {
    sourceType: 'module',
    "allowImportExportEverywhere": true  //ignore eslint error: 'import' and 'export' may only appear at the top level
  },
  env: {
    browser: true,
    node: true,
    es6: true,
  },
  extends: 'eslint:recommended',
  // required to lint *.vue files
  plugins: [
    'html',
    'vue'
  ],
  // add your custom rules here
  //it is base on https://github.com/vuejs/eslint-config-vue
  'rules': {
    'accessor-pairs': 2,
    'arrow-spacing': [2, {
      'before': true,
      'after': true
    }],
    'block-spacing': [2, 'always'],
    'brace-style': [2, '1tbs', {
      'allowSingleLine': true
    }],
    'camelcase': [0, {
      'properties': 'always'
    }],
    'comma-dangle': [2, 'never'],
    'comma-spacing': [2, {
      'before': false,
      'after': true
    }],
    'comma-style': [2, 'last'],
    'constructor-super': 2,
    'curly': [2, 'multi-line'],
    'dot-location': [2, 'property'],
    'eol-last': 2,
    'eqeqeq': [2, 'allow-null'],
    'generator-star-spacing': [2, {
      'before': true,
      'after': true
    }],
    'handle-callback-err': [2, '^(err|error)$'],
    'indent': [2, 2, {
      'SwitchCase': 1
    }],
    'jsx-quotes': [2, 'prefer-single'],
    'key-spacing': [2, {
      'beforeColon': false,
      'afterColon': true
    }],
    'keyword-spacing': [2, {
      'before': true,
      'after': true
    }],
    'new-cap': [2, {
      'newIsCap': true,
      'capIsNew': false
    }],
    'new-parens': 2,
    'no-array-constructor': 2,
    'no-caller': 2,
    'no-console': 'off',
    'no-class-assign': 2,
    'no-cond-assign': 2,
    'no-const-assign': 2,
    'no-control-regex': 0,
    'no-delete-var': 2,
    'no-dupe-args': 2,
    'no-dupe-class-members': 2,
    'no-dupe-keys': 2,
    'no-duplicate-case': 2,
    'no-empty-character-class': 2,
    'no-empty-pattern': 2,
    'no-eval': 2,
    'no-ex-assign': 2,
    'no-extend-native': 2,
    'no-extra-bind': 2,
    'no-extra-boolean-cast': 2,
    'no-extra-parens': [2, 'functions'],
    'no-fallthrough': 2,
    'no-floating-decimal': 2,
    'no-func-assign': 2,
    'no-implied-eval': 2,
    'no-inner-declarations': [2, 'functions'],
    'no-invalid-regexp': 2,
    'no-irregular-whitespace': 2,
    'no-iterator': 2,
    'no-label-var': 2,
    'no-labels': [2, {
      'allowLoop': false,
      'allowSwitch': false
    }],
    'no-lone-blocks': 2,
    'no-mixed-spaces-and-tabs': 2,
    'no-multi-spaces': 2,
    'no-multi-str': 2,
    'no-multiple-empty-lines': [2, {
      'max': 1
    }],
    'no-native-reassign': 2,
    'no-negated-in-lhs': 2,
    'no-new-object': 2,
    'no-new-require': 2,
    'no-new-symbol': 2,
    'no-new-wrappers': 2,
    'no-obj-calls': 2,
    'no-octal': 2,
    'no-octal-escape': 2,
    'no-path-concat': 2,
    'no-proto': 2,
    'no-redeclare': 2,
    'no-regex-spaces': 2,
    'no-return-assign': [2, 'except-parens'],
    'no-self-assign': 2,
    'no-self-compare': 2,
    'no-sequences': 2,
    'no-shadow-restricted-names': 2,
    'no-spaced-func': 2,
    'no-sparse-arrays': 2,
    'no-this-before-super': 2,
    'no-throw-literal': 2,
    'no-trailing-spaces': 2,
    'no-undef': 2,
    'no-undef-init': 2,
    'no-unexpected-multiline': 2,
    'no-unmodified-loop-condition': 2,
    'no-unneeded-ternary': [2, {
      'defaultAssignment': false
    }],
    'no-unreachable': 2,
    'no-unsafe-finally': 2,
    'no-unused-vars': [2, {
      'vars': 'all',
      'args': 'none'
    }],
    'no-useless-call': 2,
    'no-useless-computed-key': 2,
    'no-useless-constructor': 2,
    'no-useless-escape': 0,
    'no-whitespace-before-property': 2,
    'no-with': 2,
    'one-var': [2, {
      'initialized': 'never'
    }],
    'operator-linebreak': [2, 'after', {
      'overrides': {
        '?': 'before',
        ':': 'before'
      }
    }],
    'padded-blocks': [2, 'never'],
    'quotes': [2, 'single', {
      'avoidEscape': true,
      'allowTemplateLiterals': true
    }],
    "no-extra-semi": 2,//禁止多余的冒号
    'semi': ['error', 'always'],  // 在js后面添加分号
    // 'semi': [0, 'never'],
    'semi-spacing': [0, {
      'before': false,
      'after': true
    }],
    'space-before-blocks': [2, 'always'],
    'space-before-function-paren': [2, 'never'],
    'space-in-parens': [2, 'never'],
    'space-infix-ops': 2,
    'space-unary-ops': [2, {
      'words': true,
      'nonwords': false
    }],
    'spaced-comment': [2, 'always', {
      'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
    }],
    'template-curly-spacing': [2, 'never'],
    'use-isnan': 2,
    'valid-typeof': 2,
    'wrap-iife': [2, 'any'],
    'yield-star-spacing': [2, 'both'],
    'yoda': [2, 'never'],
    'prefer-const': 2,
    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
    'object-curly-spacing': [2, 'always', {
      objectsInObjects: false
    }],
    'array-bracket-spacing': [2, 'never']
  }
}

 documento de configuración estándar

   // 0 está desactivado, 1 es una advertencia, 2 son
  las reglas de informe de errores: {     // "sin alerta": 1, // prohíbe el uso de aviso de confirmación de alerta     // "sin constructor de matriz": 2, // Prohibir el uso de constructores de matrices     // "no bitwise": 0, // prohibir el uso de operadores bit a bit     // "no-caller": 1, // prohibir el uso de arguments.caller o arguments.callee     // " no-catch -shadow": 2,//Prohibir los parámetros de la cláusula catch con el mismo nombre que las variables de ámbito externo     // "no-class-assign": 2,//Prohibir la asignación de valores a las clases     // "no -cond-assign": 2,/ /Prohibir el uso de declaraciones de asignación en expresiones condicionales     // "no-console": 1,//Prohibir el uso de consola     // "no-const-assign": 2,// Prohibir modificar variables declaradas por const     // "no-constant-condition": 2,//prohibir el uso de expresiones constantes en condiciones if(true) if(1)     // "no-continue": 0,//prohibir el uso de continue     // "sin control-regex": 2,//No permitir el uso de caracteres de control en expresiones regulares     // "no-debugger": 2,//Deshabilitar el uso del depurador













    // "no-delete-var": 2, // no se puede usar el operador de eliminación en variables declaradas con var
    // "no-div-regex": 1, // no se pueden usar expresiones regulares que parezcan divisiones /= foo/
    // "no-dupe-keys": 2, //No permitir claves duplicadas al crear objetos literales {a:1,a:1}
    // "no-dupe-args": 2,//Los parámetros de función no se pueden repetido
    // "no-duplicate-case": 2, //La etiqueta de caso en el interruptor no se puede repetir
    // "no-else-return": 2, //Si hay un retorno en la instrucción if, no se puede ser seguido por una sentencia else
    // "no-empty": 2,//El contenido de la sentencia de bloque no puede estar vacío
    // "no-empty-character-class": 2,//El contenido de [] en el la expresión regular no puede estar vacía
    // "no-empty-label": 2,//Prohibir el uso de etiquetas vacías
    // "no-eq-null": 2,//Prohibir el uso de operadores == o != para null
    // "no-eval": 1, //Prohibir el uso de eval
    // "no-ex-assign": 2,//Prohibir la asignación de parámetros de excepción en la instrucción catch
    // "no-extend-native ": 2,//Prohibir la extensión del objeto nativo
    // "no-extra-bind": 2,//Prohibir el enlace de funciones innecesarias
    // "no-extra-boolean-cast": 2,//Prohibir conversión bool innecesaria
    // "no-extra-parens": 2,//Prohibir paréntesis innecesarios
    // "no-extra-semi" : 2,/ /Prohibir los dos puntos redundantes
    // "no-fallthrough": 1,//Prohibir la penetración del interruptor
    // "no-floating-decimal": 2,//Prohibir la omisión de 0,5 en números de coma flotante 3.
    // "no-func- asignar": 2,//Prohibir declaraciones de funciones repetidas
    // "no-implicit-coercion": 1,//Prohibir conversión implícita
    // "no-implied-eval": 2,/ /Prohibir el uso de implícita eval
    // "no-inline-comments": 0,//Prohibir comentarios en línea
    // "no-inner-declarations": [2, "functions"],//Prohibir el uso de declaraciones en sentencias de bloque (variable o función)
    // "no-invalid-regexp": 2, // prohibir expresiones regulares inválidas
    // "no-invalid-this": 2, // prohibir inválido esto, solo se usa en constructores, clase, objeto literal
    // "no-irregular-whitespace": 2,//Sin espacios irregulares
    // "no-iterator": 2,//Prohibir el uso del atributo __iterator__
    // "no-label-var": 2,//El nombre de la etiqueta no puede ser el mismo que el nombre de la variable declarada por var
    // "no-labels": 2,//No permitir declaración de etiqueta
    // "no-lone- blocks": 2 ,//Prohibir bloques anidados innecesarios
    // "no-lonely-if": 2,//Prohibir solo la declaración if en la declaración else
    // "no-loop-func": 1,//Prohibir el uso en loop Función (si no hay referencia a variables externas y no se requiere cierre)
    // "no-mixed-requires": [0, false], // los tipos de declaración no se pueden mezclar al declarar
    // "no-mixed-spaces- and-tabs ": [2, false],//No mezclar tabulaciones y espacios
    // "estilo de salto de línea": [0, "windows"],//Estilo de nueva línea
    // "sin espacios múltiples": 1 ,//No se pueden usar espacios adicionales
    // "no-multi-str": 2,//La cadena no se puede envolver con \
    // "no-multiple-empty-lines": [1, {"max": 2} ],// Las líneas vacías no pueden superar las 2 líneas como máximo
    // "no-native-reasign": 2,//Los objetos nativos no se pueden reescribir
    // "no-negated-in-lhs": 2,//¡El lado izquierdo del operador in no puede tener!
    // "no-nested-ternary": 0,//Las operaciones ternarias anidadas están prohibidas
    // "no-new": 1,//Prohibir no asignar un valor después de usar new para construir una instancia
    // "no-new-func": 1,//Prohibir usar new Function
    // "no-new-object ": 2,//Prohibir el uso de new Object()
    // "no-new-require": 2,//Prohibir el uso de new require
    // "no-new-wrappers": 2,//Prohibir el uso de new para crear instancias de contenedor, new String new Boolean new Number
    // "no-obj-calls": 2, // no puede llamar a objetos globales integrados, como Math() JSON()
    // "no-octal ": 2,//prohibir el uso de números octales
    // "no-octal-escape": 2,//Prohibir el uso de secuencias de escape octales
    // "no-param-reasign": 2,//Deshabilitar la reasignación a parámetros
    // "no-path-concat": 0, //No use __dirname o __filename para el empalme de ruta en el nodo
    // "no-plusplus": 0,//Prohiba el uso de ++, --
    // " no-process-env": 0,//Prohibir el uso de process .env
    // "no-process-exit": 0,//prohibir el uso de process.exit()
    // "no-proto": 2,//prohibir el uso del atributo __proto__
    // "no-redeclare": 2,//No redeclare variables
    // "no-regex-spaces": 2,//No use espacios múltiples en literales de expresiones regulares /foo bar/
    // "no -restricted- módulos": 0,//Si el módulo especificado está deshabilitado, se informará un error
    // "no-return-assign": 1,//No puede haber una expresión de asignación en la declaración de devolución
    // "no-script- url ": 0,//prohibir el uso de javascript:void(0)
    // "no-self-compare": 2,//no se puede comparar a sí mismo
    // "no-sequences": 0,//prohibir el uso de el operador de coma
    // "no-shadow": 2,//Una variable en el ámbito externo no puede tener el mismo nombre que una variable o parámetro en el ámbito que contiene // "no-shadow-
    restricted-names": 2, //Especificado en modo estricto El identificador restringido no se puede utilizar como nombre de variable al declarar
    // "función sin espacio": 2, // No debe haber espacios entre el nombre de la función y () cuando se llama a la función
    / / "no-sparse-arrays": 2 ,//Prohibir matrices dispersas, [1,,2]
    // "no-sync": 0,//nodejs prohíbe métodos síncronos
    // "no-ternary": 0,//Deshabilitar el uso del operador ternario
    // "no-trailing-spaces": 1,//No tener un espacio después del final de una línea
    // "no-this-before-super": 0, //No se puede usar this o super antes de llamar a super()
    // "no-throw-literal": 2,//Prohibir arrojar errores literales throw "error ";
    / / "no-undef": 1,//No puede haber variables indefinidas
    // "no-undef-init": 2,//La variable no se puede asignar directamente a undefined cuando se inicializa
    // "no-undefined " : 2,//Undefined no se puede usar
    // "no-unexpected-multiline": 2,//Evitar expresiones de varias líneas
    // "no-underscore-dangle": 1,//Los identificadores no pueden comenzar o terminar con _
    // " no-innecesario-ternario":     2 ,//Prohibir el anidamiento
    innecesario var isYes = respuesta === 1 ?
expresiones no utilizadas": 2, // Prohibir expresiones inútiles
    // "no-unused-vars": [2, {"vars": "all", "args": "after-used"}],//No puede haber variables o parámetros que no se usen después de la declaración
    // "no-use-before-define": 2,//No se puede usar antes de undefined
    // "no-useless-call": 2,//Prohibit no es necesario llamar y aplicar
    // "no-void": 2, // deshabilita el operador void
    // "no-var": 0, // deshabilita var, use let y const en su lugar
    // "no-warning-comments": [1, { " terms": ["todo", "fixme", "xxx"], "ubicación": "start" }], // no puede tener notas de advertencia
    // "no-with": 2, // deshabilitar con
    // " array-bracket-spacing": [2, "never"],//Si se permiten espacios adicionales en matrices no vacías// "
    arrow-parens": 0,//Las funciones de flecha están entre paréntesis
    // " arrow- spacing": 0, // paréntesis frontales/posteriores de =>
    // "pares de accesores": 0, // use getter/setter en objeto
    // "block-scoped-var": 0, // block Use var in la declaración
    // "estilo de llave": [1, "1 tbs"], // Estilo de llave
    // ​​"devolución de llamada": 1, // Evite múltiples devoluciones de llamada
    //"camelcase": 2,//Hacer cumplir el nombre de camel case
    // "coma-dangle": [2, "never"],//No puede haber una coma al final del elemento literal del objeto
    // "coma-spacing": 0, // espacios de coma al principio y al final
    // "estilo-coma": [2, "último"],//estilo coma, al principio o al final de la línea al envolver // "
    complejidad": [0, 11],//Complejidad cíclica
    // " computed -property-spacing": [0, "never"],//Si se permite el nombre de clave calculado
    // "retorno-consistente": 0,//Si se permite la omisión después del retorno
    // "coherente-esto" : [2, "eso"],//este alias
    // "superconstructor": 0,//las clases no derivadas no pueden llamar a super, las clases derivadas deben llamar a super
    // "curly": [2, "all" ], //Debe usar {} en if(){}
    // "caso predeterminado": 2, //La declaración de cambio debe tener el valor predeterminado al final
    // "ubicación del punto": 0,//La ubicación de el descriptor de acceso del objeto, nueva línea Al comienzo de la línea o al final de la línea
    // "notación de puntos": [0, { "allowKeywords": true }], //Evitar corchetes innecesarios
    // "eol-last ": 0,//El archivo comienza con Una sola línea termina
    // "eqeqeq": 2, //Debe usar congruencia
    // "func-names": 0,//La expresión de función debe tener un nombre
    // "estilo de función": [0, "declaración"], // estilo de función, que estipula que solo se pueden usar declaraciones de función/expresiones de función
    // "generador-estrella-espaciado": 0, // de funciones de generador * Espacio antes y después
    // "guard-for-in": 0, //for in loop debe filtrarse con declaración if
    // "handle-callback-err": 0, //nodejs procesando error
    // "id- length": 0 ,//Longitud de nombre de variable
    // "sangría": [2, 2],//Estilo de sangría
    // "declaraciones de inicio": 0,//El valor inicial debe asignarse al declarar
    // "key- spacing": [ 0, { "beforeColon": false, "afterColon": true }],//Espacios antes y después de los dos puntos en el objeto literal // "lines-
    around-comment": 0,//Comment before/ después de la línea
    // " profundidad máxima": [0, 4], // Profundidad de bloque anidado
    // "longitud máxima": [0, 80, 4], // La longitud máxima de la cadena
    // "max -devoluciones de llamada anidadas": [ 0, 2],//Profundidad de anidamiento de devolución de llamada
    // "max-params": [0, 3],//La función solo puede tener hasta 3 parámetros
    // "max-statements": [0, 10],//Hay como máximo en la función varias sentencias
    // "new-cap": 2, //La mayúscula de la primera línea del nombre de la función debe llamarse con new, y la primera minúscula debe llamarse sin new // "new-parens":
    2, //Debe se reducirá cuando paréntesis nuevos
    // "nueva línea después de var": 0, // Si se requiere una línea vacía después de la declaración de variable
    // "objeto-curly-spacing": [0, "nunca"], // Si se permiten espacios innecesarios entre llaves Espacio
    // "objeto-taquigrafía": 0, // Sintaxis abreviada literal de objeto obligatoria
    // "one-var": 1, // Declaración continua
    // "operador-asignación": [0, "siempre"],// Operador de asignación += -= qué
    // "salto de línea del operador": [2, "después"],//El operador está al final de la línea o al principio de la línea cuando la línea breaks
    // "padded-blocks": 0,// Si debe haber una línea en blanco al principio y al final de la línea en la declaración del bloque
    // "prefer-const": 0,//Const es preferible
    // " prefer-spread": 0,//Se prefiere la operación de expansión
    // "prefer-reflect": 0,/ /Prefiere el método de Reflect
    //"comillas": [1, "single"],//quote type`` "" ''
    // "quote-props":[2, "siempre"],//Si las comillas dobles son obligatorias para los nombres de propiedad en objetos literales
    // "radix": 2, //parseInt debe especificar el segundo parámetro
    // "id-match": 0, // detección con nombre
    // "require-yield": 0, // la función del generador debe tener rendimiento
    // " semi": [2, "nunca"],//La declaración fuerza el final del punto y coma
    // "semi-espaciado": [0, {"antes": falso, "después": verdadero}],//El punto y coma Espacios antes y después
    // "sort-vars": 0, // Ordenar cuando se declaran las variables
    // "space-after-keywords": [0, "siempre"], // Si hay un espacio después de la palabra clave
    // "espacio-antes-de-bloques": [0, "siempre"],//Bloques que no comienzan con nuevas líneas {si hay un espacio delante
    // "espacio-antes-de-función-paren": [0 , "siempre"],/ / Si debe haber espacios antes de los paréntesis cuando se define la función
    // "espacio entre paréntesis": [0, "nunca"], // Si debe haber espacios entre paréntesis
    / / "espacio-infijo-ops": 0,// Si debe haber espacios alrededor del operador infijo
    // "space-return-throw-case": 2, // ¿Desea agregar espacios después del return throw case
    // "space-unary-ops": [0 , { "palabras": verdadero, "no palabras": falso }],//Si se deben agregar espacios antes/después de los operadores unarios
    // "comentario-espaciado": 0, //¿El estilo de comentario tiene espacios?
    // "estricto": 2,//Usar modo estricto
    // "use-isnan": 2,//NaN está prohibido para comparación, solo se puede usar isNaN()
    // "valid-jsdoc": 0, // reglas de jsdoc
    // "valid-typeof": 2, // debe usar valores legales de typeof
    // "vars-on-top": 2,//var debe colocarse en la parte superior del alcance
    // "wrap-iife": [2, "inside"],//El estilo de paréntesis de ejecutar inmediatamente expresiones de función
    // "wrap-regex": 0, // Los literales de expresiones regulares están entre paréntesis
    // "yoda": [2, "nunca"]//Prohibir las condiciones de Yoda
  }

Supongo que te gusta

Origin blog.csdn.net/qq_23334071/article/details/114501358
Recomendado
Clasificación