// code snippet
interface TypeConfig { }
[tslint] el nombre de la interfaz debe comenzar con una I en mayúscula (nombre de la interfaz)
Microsoft sugiere que los nombres de las interfaces no tengan el prefijo I: https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines#names
Tenga en cuenta que estas son las pautas para escribir el compilador mecanografiado en sí. No pretende ser una guía de estilo para ningún otro proyecto mecanografiado.
Si desea adoptar esta guía de estilo para sus proyectos, puede cambiar la configuración de la regla en su tslint.json a "interface-name" : [true, "never"]
50 centavos de un transeúnte:
"interface-name" : [true, "never-prefix"]
lugar de
"interface-name" : [true, "never"]
🙌
Intenté desactivar el prefijo "I" agregando interface-name al valor predeterminado tslint.json
que genera la aplicación Create React. Sin embargo, no parece funcionar. ¿Quizás lo estoy poniendo en el lugar equivocado?
{
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts"
]
},
"interface-name" : [true, "never-prefix"]
}
No importa, lo descubrí:
{
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts"
]
},
"rules": {
"interface-name" : [true, "never-prefix"]
}
}
Por alguna razón, "interface-name": [true, "never"]
no me funciona. Pero "interface-name": false
funciona bien
@ vasilev-alex "interface-name": [true, "never-prefix"]
empasis en prefijo nunca
Sigo recibiendo "interface name must start with a capitalized I"
este es mi tslint.json:
{
"rules": {
"interface-name": [
true,
"never-prefix"
]
},
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts",
"coverage/lcov-report/*.js"
]
}
}
¿Qué estoy haciendo mal?
@ offg777 Nada obvio. ¿Enlace al repositorio?
La configuración me parece correcta, ¿estás seguro de que no hay nada más que la anule? La regla definitivamente funciona correctamente para mí.
@ offg777
"el nombre de la interfaz debe comenzar con una I en mayúscula"
¿De dónde sacas este error? ¿Desde su IDE o cuando ejecuta una CLI?
Y no sé acerca de las reglas en cascada exactas de tslint, pero ¿ha intentado poner el bloque "reglas" debajo de "extiende"?
Excelente
¿Eslint ya lo admite?
Configuración
"rules": {
"interface-name": [
true,
"never-prefix"
]
},
resultados en
Configuration for rule "interface-name" is invalid
¿Quizás esta regla existe por alguna razón? ¿Debería cada interfaz tener un nombre significativo obviamente diferente de una clase de implementación?
Esta es una maldita idea molesta de obligar al resto del mundo a seguir tus preferencias _ fuera de tu propio proyecto_. La obstrucción de sus propias convenciones de nomenclatura en las herramientas de programación es un error de la red neuronal del desarrollador del producto;)
¡Menos mal que TSLint está obsoleto y este problema ya no es relevante! # 4534
Comentario más útil
No importa, lo descubrí: