Uso de null y undefined en JavaScript

Los valores null y undefined suelen dar muchos dolores de cabeza a los programadores. En el artículo Handling null and undefined in JavaScript se explica cómo se deben usar en JavaScript:

One aspect of JavaScript development that many developers struggle with is dealing with optional values. What are the best strategies to minimize errors caused by values that could be null, undefined, or otherwise uninitialized at runtime?

Some languages have built-in affordances for those circumstances. In some statically typed languages, you can say that null and undefined are illegal values, and let your programming language throw a TypeError at compile time, but even in those languages, that can’t prevent null inputs from flowing into the program at runtime.

To get a better handle on this problem, we need to understand where these values can come from. Here are some of the most common sources:

  • User input

  • Database/network records

  • Uninitialized state

  • Functions which could return nothing

Un error le costó a la NASA 150 millones de dólares

Es una historia antigua, se produjo en 1962, pero es muy interesante: Cómo un solo error de código le costó a la NASA 150 millones de dólares: el desastre de la Mariner 1. Un resumen de la historia es:

Enviar un vehículo al espacio por el procedimiento de sujetarlo a un proyectil descomunal impulsado por explosiones controladas no es precisamente tarea fácil. Un solo error a menudo es la diferencia entre el éxito y el desastre total. Para la sonda Mariner 1, ese error fue el símbolo “¯”.

[…]

¿Qué ocurrió con el cohete Atlas Agena que llevaba la Mariner? El escritor de ciencia ficción Arthur C. Clarke lo definió como el guión más caro de la historia, pero en realidad no era un guión, sino un guión alto o superguión. El programador que transcribió el código que regía uno de los sistemas de navegación se comió este símbolo.

Lista de países no ordenada

En Amazon me he encontrado la siguiente lista desplegable para seleccionar un país:

¿Qué hace España ahí, entre Eritrea y Etiopía? Parece que los nombres de los países están en inglés, pero la lista está ordenada a partir de los nombres en Español. ¡Qué lío!

Y en otra parte de Amazon me encuentro esta otra lista:

¿No son capaces de ordenar las listas siempre de la misma forma?

El gobierno de Estados Unidos apoya el diseño adaptable (responsive design)

La noticia es antigua, del año 2013, ahora no sería noticia, pero me ha parecido gracioso encontrarla: It’s Official: US Government Endorses Responsive Web Design.

La noticia cita el informe DIGITAL GOVERNMENT: BUILDING A 21ST CENTURY PLATFORM TO BETTER SERVE THE AMERICAN PEOPLE, en el que pone:

Mission drives agencies, and the need to deliver better services to customers at a lower cost—whether an agency is supporting the warfighter overseas, a teacher seeking classroom resources or a family figuring out how to pay for college—is pushing every level of government to look for new solutions.

Early mobile adopters in government—like the early web adopters—are beginning to experiment in pursuit of innovation.

Customer-centric government means that agencies respond to customers’ needs and make it easy to find and share information and accomplish important tasks.

Using modern tools and technologies such as responsive web design and search engine optimization is critical if the government is to adapt to an ever-changing digital landscape and deliver services to any device, anytime, anywhere. Similarly, optimizing content for modern platforms, rather than just translating content from paper-based documents to the Web, will help ensure the American people and employees can access content regardless of platform. Agencies will need to keep current with the latest design concepts and refresh content delivery mechanisms to ensure the highest performance.

These imperatives are not new, but many of the solutions are. We can use modern tools and technologies to seize the digital opportunity and fundamentally change how the Federal Government serves both its internal and external customers— building a 21st century platform to better serve the American People.

Lo dice claramente, “Using modern tools and technologies such as responsive web design and search engine optimization”.