Archivo de la etiqueta: desarrollador

El nombre que le pones a las cosas sí importa

“En las ciencias de la computación, hay únicamente dos problemas difíciles de responder: la invalidación de un caché, y cómo nombrar cosas.” — Phil Karlton

La cultura del Internet después modificó este refrán para incluir errores de enumeración de índices, pero esa es otra historia.

La realidad es que Phil tenía mucha razón: decidir cómo nombrar las entidades que manipulamos al programar es una de las tareas más difíciles de nuestra profesión. No por nada es tan común ver variables, métodos, clases, funciones, o cualquier otro elemento de programas, con nombres genéricos, como x, builder o manager.

Algunos argumentan que invertir tiempo en nombrar los componentes de un programa de manera coherente es una pérdida de tiempo. Las veces que he participado en discusiones donde se intenta impulsar la idea de que alguien debería poder diferenciar una variable X de otra simplemente por el nivel de sangría del código son demasiadas. Creo que desafortunadamente esto es otra muestra de lo inusual que es el sentido de compasión en la industria de la tecnología.

Al igual que agregar documentación completa a tus proyectos, usar nombres descriptivos y semánticamente correctos es un acto de compasión.

El lenguaje es el medio a través del cual los humanos razonamos sobre las ideas de nuestro día a día. Al compilador no le importa el nombre de tu variable, pero a la persona que va a leer y contribuir a tu código sí. Y como siempre, es importante recalcar que esa persona puedes ser tú mismo, años después.

Utilizar nombres descriptivos y semánticamente correctos para los componentes de tu programa no solamente hace más accesible la lectura de tu código. También te ayuda a razonar mejor sobre la solución que estás implementando. En algunos casos, hasta te podría salvar, potencialmente, de introducir vulnerabilidades de seguridad críticas.

Conforme he ganado experiencia colaborando en esta industria, he encontrado una relación, casi directa, entre el nivel de atención a la nomenclatura y semántica de los componentes de un programa y su fiabilidad.

Después de todo, me pregunto: si no te tomaste el tiempo de nombrar algo de una manera correcta y con sentido, ¿realmente habrás entendido el problema que estás intentando resolver?

Aparición: Let Swift Podcast S02E08

Hace un par de semanas tuve el gusto de participar con Pedro Rojas y Angel Morales en su programa, Let Swift Podcast. Hoy, la primera parte de la conversación que grabamos (de casi 3 horas de contenido) está disponible para que la escuches n Apple Podcasts, Spotify, Google Podcasts o PocketCasts.

Como probablemente sepas, trabajé desarrollando aplicaciones para iOS por un poco más de 10 años antes de cambiar de carrera y dedicarme de lleno al management. La charla con Pedro y Angel fue una excelente oportunidad para volver a mis raíces y compartir un poco de lo que aprendí durante todo ese tiempo.

El contenido es un poco técnico (solo un poco), pero estoy seguro de que le podrás encontrar valor. En general, hablamos de…

?Los retos de aprender iOS por cuenta propia

?? Freelancing

?¿Cómo es dar pláticas en otros países?

??¿Cómo mejorar nuestros softskills?

Mil gracias a Pedro y Angel por recibirme en su casa.