Acrónimos

Acrónimos, siglas, modismos, términos usados frecuentemente

Una de las dificultades con las que me suelo encontrar cuando llego a un nuevo grupo o equipo de desarrollo de software es adaptarme a la terminología que usan la mayoría de personas.

Cuando uno es el nuevo del grupo y las demás personas ya llevan tiempo en él se pueden identificar patrones en la manera en la que se comunican. Es muy común que se usen siglas, modismos, palabras clave, términos de los cuales se puede pensar que son de conocimiento global. No siempre es intuitivo saber su significado, con frecuencia son en múltiples idiomas (por lo menos en inglés y español) y la mayoría de las veces es complejo adivinar los significados si no se han manejado antes.

Recuerdo cuando llegué a un equipo que llevaba cierto tiempo de estar conformado y hablaban de los objetos invocables (callables) con mucha naturalidad. Yo no entendía bien de lo que estaban hablando debido a cómo la pronunciaban, aunque sí comprendía el contexto. En spanglish el equipo la pronunciaba algo así como coleibol. Al final entendí que se referían a callable, discutimos su pronunciación y todo fue más sencillo.

Esa anécdota me inspiró a crear un vademecum con algunos de los términos que veía o escuchaba con frecuencia, y que quizás no me parecían tan obvios, intuitivos, o globales en su momento.

Me parece relevante también identificar que esos términos pueden ser manejados más fácilmente dependiendo del contexto en el que se tratan.

En el ámbito de programación en general

Sigla Descripción Significado
ABI Application Binary Interface Interfaz binaria de una aplicación
API Application Program Interface Interfaz del programa de una aplicación
Boilerplate Boilerplate code Código repetitivo que se debe copiar y pegar para un funcionamiento mínimo
c14n canonicalization Usar la forma estándar/ canónica
i18n internationalization for string translations to different languages
IIFE Immediately Invoked Functional Expression: Lambdas Expresión Funcional Inmediatamente Invocada
KISS Keep It Simple Principio de diseño: Mantener simplicidad
LOC Lines Of Code Número de líneas de código
NVI Non-Virtual Interface Patrón de diseño de interfaces
RAII Resource Acquisition Is Initialization Tiempo de vida determinístico para objetos

En el ámbito más cercano a C++ y lenguajes similares

Sigla Descripción Significado
ODR One-Definition Rule Regla de Una Sola definición
PIMPL Pointer to implementation Puntero a implementación
SFINAE Substitution Failure Is Not An Error. For templates Falla en sustitución no es un error. Para plantillas
SIOF Static initialization Order Fiasco Fiasco en el orden de la inicialización estática
SSO Small String Optimization Optimización de pequeñas cadenas de caracteres
State-less lambda A lambda with no parameters Lambda sin estado, sin parámetros, sin variables miembro
TU Translation Unit Unidad de traducción a lenguaje de máquina. Archivos Objeto *.o
UB Undefined Behavior Comportamiento indefinido

En el ámbito conversacional

Como en chats o solicitudes de incorporación de cambios:

Sigla Descripción Significado
AFAIK As Far As I Know Hasta donde llega mi conocimiento
DRY Don’t Repeat Yourself No repitas código
IMO In My Opinion En mi opinión
IMHO In My Humble Opinion En mi humilde opinión
LGTM Looks Good To Me Se ve bien (el MR/PR/Cambio) para mí
MR Merge Request Solicitud de incorporación de cambios
PR Pull Request Solicitud de incorporación de cambios
PTAL Please Take Another Look Revisa de nuevo (al hacer ajustes a MR/PR)
YAGNI You Ain’t Gonna Need It No lo vas a necesitar

Notas

No siempre he encontrado el significado al hacer una búsqueda simple, así que encontré algunos recursos donde se pueden desambiguar acrónimos: All acronyms


Entradas recientes

Señales y Ranuras

4 minutos de lectura

Señales y Ranuras se refiere a una funcionalidad para comunicación entre objetos. En C++ es un término acuñado a Qt enfocado en la comunicación en interfaces...

Hola Mundo, de nuevo: std::print

3 minutos de lectura

Así como sucede con la mayoría de funcionalidades en C++ hay diversas formas de escribir mensajes en el stdout. A partir del estándar C++23 se puede encontra...

Operación Módulo

6 minutos de lectura

Es una operación aritmética usada para obtener el residuo en una división, usualmente de números enteros positivos, pero no está limitada solamente a ellos, ...

Tamaño de objetos invocables

3 minutos de lectura

Todo objeto que pueda ser invocado usando la sintaxis de llamado a función es considerado un objeto invocable. Por ejemplo: Punteros a funciones (miembro, y ...

Interfaces Gráficas de Usuario

3 minutos de lectura

En C++ no hay una biblioteca de gráficos dentro del estándar por lo cual es necesario recurrir a bibliotecas de terceros, como Gtk, Qt, o SFML. Es bastante c...

Depuración de scripts Python en CLion

3 minutos de lectura

No es sorpresa ver que Jetbrains tiene muy bien documentada la manera de configurar un intérprete de python en CLion, y que bastan solamente dos sencillos pa...

Funciones Miembro Especiales

4 minutos de lectura

Son aquellas funciones que bajo ciertas circunstancias se definen automáticamente por el compilador aun si no son declaradas por el usuario.

Convenciones de nombres

3 minutos de lectura

La decisión de usar una convención suele acordarse para un proyecto o equipo. Lo más importante al elegir una es que sea consistente a través de todo el códi...

Pruebas de referencia: benchmark

3 minutos de lectura

En programación se suelen usar las benchmarks, o pruebas de referencia, como una técnica para medir el rendimiento de un sistema o de uno de sus componentes.

Fechas en formato estándar

3 minutos de lectura

Una forma sencilla de representar la fecha-hora en el formato estándar ISO 8601 es usando std::chrono y la biblioteca {fmt}.

Complemento a dos: binarios negativos

6 minutos de lectura

Hay varias maneras de representar números binarios con signo; una es por medio del Complemento a Dos, con la cual se debe tener en cuenta el número de bits a...

SQL incrustado usando SOCI

5 minutos de lectura

SOCI es una biblioteca de acceso a bases de datos que soporta SQLite, MySQL, Oracle SQL, entre otras. El enfoque en esta publicación es usarla para hacer rea...

Mini base de datos con SQLite3

4 minutos de lectura

SQLite es una biblioteca que implementa un motor de bases de datos pequeño, rápido, auto-contenido, de alta fiabilidad, y de funcionalidad SQL completa.

fmt: Una biblioteca de formato de texto

4 minutos de lectura

{fmt} es una biblioteca de código abierto, definida como una alternativa rápida y segura frente a stdio (de C) y iostreams (de C++) para dar formato. std::fo...

Sobrecarga del operador de inserción

2 minutos de lectura

Un stream es un canal de flujo de datos; el operador de inserción << se encarga de insertar datos en un flujo de salida std::ostream, como lo es std::c...

Compilación a velocidad Ninja

2 minutos de lectura

Uno de los generadores CMake disponibles se denomina Ninja, y genera los archivos requeridos para el sistema de compilación con el mismo nombre.

Creación de bibliotecas en proyectos CMake

3 minutos de lectura

Los dos tipos de bibliotecas usualmente creadas en C++ son: estáticas y dinámicas. A diferencia de los binarios ejecutables, estas no tienen punto de entrada...

Tamaño de una clase vacía

2 minutos de lectura

Una clase vacía es aquella que no contiene variables miembro, y contiene por lo menos una función miembro.

Ordenamiento intuitivo con Rangos

4 minutos de lectura

La biblioteca de rangos incluida en C++20 trae finalmente una funcionalidad con la cual realizar ordenamientos en contenedores secuenciales de la STL de una ...

Compilación simplificada con CMake

4 minutos de lectura

CMake es una herramienta para controlar el proceso de compilación de software de una manera simple, independiente de la plataforma.

Conan como administrador de paquetes

5 minutos de lectura

Conan es un administrador de paquetes multiplataforma, descentralizado, y de código abierto, que permite crear y compartir paquetes de software para C++

El estándar del lenguaje

2 minutos de lectura

Un estándar de C++ hace referencia a una versión aprobada por el comité de estandarización. Al 2020 se han aprobado los estándares 98, 03, 11, 14, 17, y 20; ...

Hola Mundo C++

1 minuto de lectura

Hola mundo en informática hace referencia al primer ejercicio que se hace para visualizar la sintaxis de un lenguaje de programación.