Capítulo 24. Tipos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Los tipos son esencialmente afirmaciones sobre un programa. Y creo que es valioso que las cosas sean lo más absolutamente sencillas posible, incluso no decir siquiera cuáles son los tipos.

Dan Ingalls, Programadores trabajando: Reflexiones sobre el oficio de programar

24.0 Introducción

Los tipos son el concepto más importante en los lenguajes de clasificación. Esto es cierto tanto para los lenguajes estáticos y fuertemente tipados como para los dinámicamente tipados. Tratar con ellos no es fácil y tienes muchos sabores, desde los muy restrictivos hasta los más perezosos.

24.1 Eliminar la comprobación de tipo

Problema

Revisa tus argumentos.

Solución

Confía en tus colaboradores. No compruebes quiénes son. Pídeles que lo hagan.

Debate

Evita kind(), isKindOf(), instance(), getClass(), typeOf(), etc., y no utilices la reflexión ni la metaprogramación para objetos de dominio (consulta el Capítulo 23, "Metaprogramación"). Evita la comprobación de indefinidos. Utiliza objetos completos (consulta la Receta 3.7, "Completar constructores vacíos"), y evita los nulos (consulta la Receta 15.1, "Crear objetos nulos") y los setters. Favorece la inmutabilidad y nunca tendrás tipos indefinidos o ifs accidentales.

Aquí tienes ejemplos de comprobación de tipos:

if (typeof(x) === 'undefined') {
    console.log('variable x is not defined');  
}

function isNumber ...

Get Libro de cocina de código limpio now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.