/
TypeScript Style Guide and Coding Conventions v1.0.0-beta

TypeScript Style Guide and Coding Conventions v1.0.0-beta

 

Una guía de estilo no oficial de TypeScript

 

Style

Category

Style

Category

UpperCamelCase

class / interface / type / enum / decorator / type parameters

lowerCamelCase

variable / parameter / function / method / property / module alias

CONSTANT_CASE

global constant values, including enum values

#ident

private identifiers are never used.

Variable y Función

  • Use lowerCamelCase para nombrar sus variables y funciones

Motivo: JavaScript convencional

Malo

var FooVar; const FooVar; let FooVar; function BarFunc() { }

Bueno

var fooVar; const fooVar; let fooVar; function barFunc() { }

Class

  • Utilice PascalCase para los nombres de las clases.

Motivo: esto es bastante convencional en JavaScript.

Malo

class foo { }

Bueno

  • Use camelCase de miembros y métodos de clase

Motivo: se sigue naturalmente de la convención de nomenclatura de variables y funciones.

Interfaz

  • Use PascalCase para el nombre.

Razón: Similar a la clase

  • Use camelCase para los members

Razón: Similar a la clase

  • No prefijo con I

Razón: No convencional. lib.d.ts define interfaces importantes sin una I (por ejemplo, Ventana, Documento, etc.).

Malo

Bueno

Type

  • Use PascalCase para el nombre.

Razón: Similar a la clase

  • Use camelCase para los members.

Razón: Similar a la clase

Namespace

  • Use PascalCase para nombres

Motivo: Convención seguida por el equipo de TypeScript. Los espacios de nombres son efectivamente solo una clase con miembros estáticos. Los nombres de las clases son PascalCase => Los nombres de los espacios de nombres son PascalCase

Malo

Bueno

Enum

  • Use PascalCase para nombres de enum

Razón: Similar a Clase. es un type.

Malo

Bueno

  • Use PascalCase para el enum member

Motivo: Convención seguida por el equipo de TypeScript

Malo

Bueno

Null vs. Undefined

  • No usar ninguno de los dos por indisponibilidad explícita

Razón: estos valores se usan comúnmente para mantener una estructura consistente entre valores. En TypeScript usas tipos para denotar la estructura.

Malo

Bueno

 

  • Use undefined en general (considere devolver un objeto como {valid:boolean, value?:Foo} en su lugar)

Malo

Bueno

 

  • Use null donde sea parte de la API o convencional

Motivo: es convencional en Node.js, p. el error es null para las devoluciones de llamada de estilo NodeBack.

Malo

Bueno

 

  • Use la verificación de la verdad para que los objetos sean null o undefined

Malo

Bueno

 

  • Utilice== null / != null (not === / !==) para comprobar si hay valores null / undefined en las primitivas, ya que funciona tanto para valores null / undefined como para otros valores falsos (como '', 0, false).

Malo

Bueno

Formatting

Spaces

  • Utilice 2 espacios. No tabs.

Semicolons

  • Utilice punto y coma.

Motivos: los puntos y comas explícitos ayudan a que las herramientas de formato de idioma brinden resultados consistentes. La falta de ASI (inserción automática de punto y coma) puede disparar nuevos desarrolladores, p. foo() \n (function(){}) será una declaración única (no dos). Advertencia TC39 sobre esto también. Equipos de ejemplo: airbnb, idiomático, google/angular, facebook/react, Microsoft/TypeScript.

Array

  • Anote las matrices como foos: foos: Foo[] en lugar de foos: foos: Array<Foo>.

Razones: Es más fácil de leer. Es utilizado por el equipo de TypeScript. Hace más fácil saber que algo es una matriz ya que la mente está entrenada para detectar [].

Filename

  • Nombra archivos con camelCase. camelCase. E.g. accordion.tsx, myControl.tsx, utils.ts, map.ts etc.

Motivo: Convencional en muchos equipos de JS.

type vs. interface

  • Use type cuando necesite una unión o intersección:

  • Utilice la interface cuando desee extends o implements

== or ===

  • use === ya que eso es lo que se usa en el código base de TypeScript.

Related content

Uso de i18n
More like this
Organización de ETLs en spin
Organización de ETLs en spin
Read with this
Mejores prácticas de desarrollo
Mejores prácticas de desarrollo
More like this
Organización de Microservicios Spin
Organización de Microservicios Spin
Read with this
Mejores prácticas en Java
Mejores prácticas en Java
More like this
Documentación InComm
Documentación InComm
Read with this