Volver a la lista

Poner nombres a las variables es la mitad de la programación.

camelCase, PascalCase y snake_case: diferencias y cómo elegir un buen nombre para una variable. Ejemplos de variables de datos biológicos y su relación con las reglas de nomenclatura de NCBI/ENSEMBL.

Principiante
|
15min
|
Verificado (2026-06)
Convenciones de nomenclaturacamelCaseLegibilidad del código.Nombre de la variableColaboraciónVariables de datos biológicos
Progreso0/8 (0%)

Elegir nombres para las variables es la mitad de la programación

¿Cuál es la tarea más difícil en la programación? ¿Los algoritmos? ¿La depuración? En realidad, existe una broma popular entre los programadores: "En informática, solo hay dos cosas difíciles: la invalidación de la caché y la elección de nombres".

Es una broma, pero es verdad. Los nombres de las variables, funciones y archivos sirven como la documentación del código. Si eliges buenos nombres, no necesitarás comentarios y podrás entender el código fácilmente incluso si lo vuelves a abrir después de seis meses.

Nombres malos vs. nombres buenos

javascript
// Mal ejemplo
const d = [1.85, 0.42, 2.10, 0.15];
const t = 0.5;
let c = 0;
for (let i = 0; i < d.length; i++) {
  if (d[i] >= t) c++;
}

// Buen ejemplo
const odValues = [1.85, 0.42, 2.10, 0.15];
const odThreshold = 0.5;
let passedCount = 0;
for (let i = 0; i < odValues.length; i++) {
  if (odValues[i] >= odThreshold) passedCount++;
}

Ambos códigos realizan exactamente la misma función. Sin embargo, al leer el código que se muestra a continuación, se entiende inmediatamente que es un código que cuenta los valores de OD que superan un valor de referencia. d, t y c no proporcionan esta información.

Cuatro tipos de notación: ¿cuándo usar cada uno?

Las reglas para asignar nombres en la codificación se denominan convenciones de nomenclatura. Existen cuatro tipos principales de notación:

NotaciónFormaObjeto de usoEjemplo
camelCaseLa primera palabra en minúsculas, y las siguientes en mayúsculasVariables, funcionessampleCount, getGeneInfo()
PascalCaseTodas las palabras comienzan con mayúsculasClases, componentes de ReactGeneCard, SampleList
snake_caseMinúsculas + guion bajoVariables/funciones de Python, nombres de archivosample_count, gene_info.py
SCREAMING_SNAKEMayúsculas + guion bajoConstantesMAX_RETRY, OD_THRESHOLD

En JavaScript, camelCase es la norma. En Python, snake_case es la norma. Dado que se trata de una convención de cada comunidad de lenguaje, seguir las reglas facilita la lectura del código para otros desarrolladores.

javascript
// JavaScript (camelCase)
const sampleCount = 96;
function calculatePassRate(samples) { /* ... */ }

// Componente React (PascalCase)
function GeneCard(props) { /* ... */ }

// Constante (SCREAMING_SNAKE)
const MAX_OD_VALUE = 4.0;
const MIN_SAMPLE_VOLUME = 0.5;

Datos biológicos y nomenclatura: problemas prácticos

Al codificar datos de biotecnología, surge una preocupación particular: ¿cómo refinar los nombres de las variables, como los nombres de los genes, los identificadores de la base de datos y los parámetros de análisis?

Las diferentes instituciones genómicas tienen diferentes reglas de nomenclatura

Institución/Base de datosNotación de genesEjemplo
NCBI (Gene)Mayúsculas e itálicas (humano)TP53, BRCA1
ENSEMBLENSG + ID numéricoENSG00000141510
UniProtNombre de la proteína_Abreviatura de la especieP53_HUMAN
HGNCSímbolo oficial (mayúsculas)TP53, EGFR

Dado que no se pueden usar itálicas en el código, se necesita una regla al transferir esto a los nombres de las variables:

javascript
// Conservar el nombre del gen como cadena
const geneName = "TP53";
const ensemblId = "ENSG00000141510";

// Al trabajar con varios genes
const targetGenes = ["TP53", "BRCA1", "EGFR"];

// Objeto de resultados del análisis
const geneExpression = {
  TP53: 12.4,
  BRCA1: 8.7,
  EGFR: 15.2
};

El nombre del gen en sí (TP53) es un dato, por lo que se introduce como una cadena, y la variable que lo contiene (geneName, targetGenes) se escribe en camelCase.

Ejemplos de buenos nombres de variables biológicas

Nombre incorrectoNombre correctoRazón
dataqcResultsSe puede saber qué tipo de datos son
valodValueSe especifica claramente qué valor es
listfailedSamplesSe especifica claramente de qué se trata la lista
flagisPassedLos booleanos deben comenzar con is/has
nsampleCountSe especifica claramente de qué se trata el recuento
temprawSequenceNo se debe renunciar al nombre por el simple hecho de que sea temporal
resapiResponseEs preferible una palabra completa a una abreviatura

Cinco principios para poner nombres

1. Revela la intención

Solo con ver el nombre de la variable, se debe poder saber "de qué se trata". d en lugar de elapsedDays, x en lugar de currentIndex.

2. No acortes

cnt en lugar de count, btn en lugar de button, msg en lugar de message. El tiempo de escritura es el mismo, ya que existe la función de autocompletado. Sin embargo, las abreviaturas que se han convertido en una convención son una excepción: id, url, api, db.

3. Los booleanos deben comenzar con is/has/can

javascript
const isPassed = od >= 1.0;
const hasPermission = user.role === "admin";
const canDelete = hasPermission && !isLocked;

passed solo no indica si se refiere a "algo que ha pasado" o al "estado de haber pasado". isPassed indica claramente true/false.

4. Las funciones deben comenzar con un verbo.

javascript
function calculatePassRate(samples) { /* ... */ }
function fetchGeneData(geneId) { /* ... */ }
function formatDate(timestamp) { /* ... */ }

Las funciones son acciones, por lo que el uso de verbos es natural. passRate() es menos claro que calculatePassRate(), ya que este último indica directamente que "esta función calcula la tasa de aprobación".

5. Mantenga la coherencia

Si en un proyecto se utilizan cuatro formas diferentes de "importar": get, fetch, retrieve y load, esto puede generar confusión. Elija una y utilícela de forma coherente. Si se trata de un proyecto de equipo, documente esta regla.

Nombres de archivos y carpetas

No solo las variables deben seguir una regla. Los archivos y las carpetas también:

DestinoReglaEjemplo
Archivos JavaScriptcamelCase o kebab-casegeneUtils.js, gene-utils.js
Archivos de componentes ReactPascalCaseGeneCard.tsx, SampleList.tsx
Archivos Pythonsnake_casegene_analysis.py, qc_report.py
Clases CSSkebab-casegene-card, sample-list
Variables de entornoSCREAMING_SNAKEDATABASE_URL, API_KEY

kebab-case es una forma de conectar palabras con guiones (-). Se utiliza principalmente en URL o en CSS.

Conclusión: el nombre es la primera impresión del código

Dedicar tiempo a elegir buenos nombres no es una pérdida de tiempo. El código se escribe una vez y se lee muchas veces. Aunque lleve 30 segundos más escribirlo, si ahorra 10 segundos cada vez que se lee, es una inversión.

Así como un revisor rechazaría un artículo si las etiquetas de los ejes de una figura fueran "value1" y "value2", si en el código se utilizan nombres como d, t y c, el "yo" del futuro sufrirá.

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...