<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ricardo Ortega Chap</title>
    <description>The latest articles on DEV Community by Ricardo Ortega Chap (@chapgpt_js).</description>
    <link>https://dev.to/chapgpt_js</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F292062%2F9d736b9b-730d-47a1-b3f7-bcff0f9c5619.jpeg</url>
      <title>DEV Community: Ricardo Ortega Chap</title>
      <link>https://dev.to/chapgpt_js</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chapgpt_js"/>
    <language>en</language>
    <item>
      <title>⭐ Javascript buenas prácticas: Nombres</title>
      <dc:creator>Ricardo Ortega Chap</dc:creator>
      <pubDate>Thu, 31 Oct 2024 20:18:54 +0000</pubDate>
      <link>https://dev.to/chapgpt_js/previniendo-olores-raros-en-javascript-15k</link>
      <guid>https://dev.to/chapgpt_js/previniendo-olores-raros-en-javascript-15k</guid>
      <description>&lt;h2&gt;
  
  
  🚀 Tabla de contenido
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Cambiando el chip.&lt;/li&gt;
&lt;li&gt;Nombres descriptivos.&lt;/li&gt;
&lt;li&gt;Convención para nombrar variables. &lt;/li&gt;
&lt;li&gt;Cuídate de estas prácticas.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Nombres descriptivos basados  en el propósito del tipo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Matrices (arrays)&lt;/li&gt;
&lt;li&gt;Booleanos (booleans)&lt;/li&gt;
&lt;li&gt;Funciones (functions)&lt;/li&gt;
&lt;li&gt;Clases (class)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;🔒 Mini guía de estilos para JS&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;🔒 Mejorando la Legibilidad con ES6+&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Bienvenido, al primer registro en la 🚀 Bitácora del capitán Dev: Nombres (Naming). Y Recuerda, tomarte el tiempo para nombrar de forma descriptiva no es un detalle menor en tu brújula.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Cambiando el chip
&lt;/h2&gt;

&lt;p&gt;Hacer cambios en un código “con mal olor” es realmente 💔cardíaco, especialmente cuando se trata de código de terceros. Y no me dejarás mentir, nada te hace cuestionar más tus decisiones de vida que leer tu propio código de hace siete días y pensar: “¿Cómo es que no fui despedido por esto?”&lt;/p&gt;

&lt;p&gt;En lugar de avanzar y hacer mejoras🚀, te ves obligado a detenerte y luchar para comprender lo que está frente a ti, intentando descifrar lo que alguien más dejó atrás. Es una experiencia frustrante que drena tu ⌛ tiempo y ⚡ energía, robándote la satisfacción de la creación.&lt;/p&gt;

&lt;p&gt;El código con mal olor (code smells) suele ser el resultado de la prisa por cumplir entregas, la falta de experiencia en buenas prácticas y la sobrecarga de trabajo, lo que lleva a priorizar soluciones rápidas sobre las correctas. Esto acumula deuda técnica, reforzada por la mentalidad de "con que funcione basta", ignorando el alto costo de mantener código desorganizado a largo plazo.&lt;/p&gt;

&lt;p&gt;Y recuerda, lo que he compartido aquí son solo recomendaciones💡; no pretendo imponerte nada. Toma lo que mejor se adapte a ti o a tu equipo 🤝 y hazlo tuyo✨.&lt;/p&gt;

&lt;h2&gt;
  
  
  Javascript sin olores
&lt;/h2&gt;

&lt;p&gt;Cuando hablo de "JavaScript sin olores", no me refiero a que tu código deba oler a ☕ café recién hecho, pero sí a que sea claro y no intimide a quien lo lea 👀. En este artículo, de la mano de JavaScript, el único lenguaje del lado del cliente y a menudo el más incomprendido, exploraremos y aprovecharemos las bondades de ES6+ junto con convenciones, guías de estilo y patrones para escribir código limpio, moderno y fácil de mantener ✨.&lt;/p&gt;

&lt;p&gt;Sin más vueltas, a lo que venimos.&lt;/p&gt;

&lt;h2&gt;
  
  
  🪐 Nombres descriptivos
&lt;/h2&gt;

&lt;p&gt;Esto significa que los nombres de variables, funciones, clases y constantes explican claramente su propósito y contenido sin necesidad de comentarios adicionales.&lt;/p&gt;

&lt;p&gt;Nombrar de forma descriptiva puede parecer una acción pequeña, pero es el primer y más importante paso para fijar una dirección y la más clara. Este simple hábito reduce significativamente la carga cognitiva y mejora la legibilidad y claridad de tu código.&lt;/p&gt;

&lt;p&gt;Y ¡por favor!, &lt;strong&gt;olvídate&lt;/strong&gt; de los &lt;strong&gt;nombres genéricos&lt;/strong&gt; y &lt;strong&gt;acrónimos&lt;/strong&gt; difíciles de entender.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Evita esto ❌ o naufragarás.&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cic&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;p&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1051&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;abUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.myecommerce.com/v1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;valOrder&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;prod&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Como puedes ver, el propósito de cada variable es un misterio digno de Sherlock Holmes🕵️‍♂️. ¿Por qué? Porque para descifrar qué hacen, necesitarías un montón de contexto extra, como comentarios que no existen, horas 🔍 revisando dónde demonios se usan, o tener al programador a mano, como si fuera tu propio servicio de soporte técnico.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Bien ✅&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cartItemCount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cartTotalPrice&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1051&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;API_BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.myecommerce.com/v1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;validateOrder&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Product&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;shipName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Barco fantasma&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este caso, las variables reflejan claramente su contenido y propósito:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;cartItemCount&lt;/strong&gt;: Número de productos en el carrito de compras.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;cartTotalPrice&lt;/strong&gt;: Precio total de todos los productos en el carrito.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API_BASE_URL&lt;/strong&gt;: Contiene la URL base de la API utilizada para realizar solicitudes en la aplicación.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;validateOrder&lt;/strong&gt;: Es una función que probablemente válida si un pedido es correcto antes de ser procesado.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Product&lt;/strong&gt;: Es una clase que representa un producto.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🪐 Convención para nombrar variables
&lt;/h2&gt;

&lt;p&gt;En el mundo de los lenguajes de programación existen varias convenciones ampliamente utilizadas al nombrar variables, entre las más comunes están las sigs.:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UpperCamelCase&lt;/li&gt;
&lt;li&gt;PascalCalmelCase&lt;/li&gt;
&lt;li&gt;snake_case&lt;/li&gt;
&lt;li&gt;SCREAMING_SNAKE_CASE&lt;/li&gt;
&lt;li&gt;flatcase&lt;/li&gt;
&lt;li&gt;dot.notation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En el caso de JavaScript, la recomendación tanto por la comunidad de desarrolladores como por el equipo que mantiene el lenguaje es:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;lowerCamelCase&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Y es la única que nos interesa destacar en este momento. En esta convención &lt;strong&gt;lowerCamelCase&lt;/strong&gt; cada palabra comienza con minúscula, excepto las subsecuentes, que inician con mayúscula.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;Cartitemcount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ❌&lt;/span&gt;
&lt;span class="nx"&gt;cartItemCount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ✅ Bien &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🪐 Convenciones para nombrar constantes (const)
&lt;/h2&gt;

&lt;p&gt;En JavaScript, las constantes pueden almacenar distintos tipos de datos o referencias. Tener claro el contenido que pueden almacenar te permitirá asignar un nombre descriptivo y que grite su propósito, mejorando así la legibilidad del código.&lt;/p&gt;

&lt;p&gt;Datos que pueden almacenar las constantes:&lt;/p&gt;

&lt;p&gt;Valores primitivos → (&lt;code&gt;string&lt;/code&gt;, &lt;code&gt;number&lt;/code&gt;, &lt;code&gt;boolean&lt;/code&gt;, &lt;code&gt;null&lt;/code&gt;, &lt;code&gt;undefined&lt;/code&gt;, &lt;code&gt;bigint&lt;/code&gt;, &lt;code&gt;symbol&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Estructuras complejas → (&lt;code&gt;arrays&lt;/code&gt;, &lt;code&gt;objetos&lt;/code&gt;, &lt;code&gt;funciones&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Referencias a elementos del DOM → (&lt;code&gt;Element&lt;/code&gt;, &lt;code&gt;NodeList&lt;/code&gt;, etc.).&lt;/p&gt;

&lt;p&gt;Cómo te pudiste dar cuenta, las constantes no solo se limitan a almacenar valores primitivos o estructuras complejas; también pueden contener referencias que apuntan a elementos del DOM.&lt;/p&gt;

&lt;p&gt;Ahora que conocemos los diferentes tipos de valores o referencias que las constantes pueden almacenar, hablemos de las convenciones para nombrarlas.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;SCREAMING_SNAKE_CASE&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Se utiliza principalmente para valores globales.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Cuándo usar?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cuando el valor &lt;strong&gt;no cambia durante la ejecución del programa&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Para valores que representan &lt;strong&gt;configuraciones, claves de API, constantes matemáticas, etc.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Cuando se quiere indicar claramente que el valor es &lt;strong&gt;una constante global&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;API_BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.myecommerce.com/v1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;PROMO_DISCOUNT_RATE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;MAX_LOGIN_ATTEMPTS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Número máximo de intentos de inicio de sesión.&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;PI&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;3.14159&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Valor de π.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;lowerCamelCase&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Se emple para constantes cuyo valor sera local dentro del código.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Cuándo usar?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Para &lt;strong&gt;constantes locales&lt;/strong&gt; dentro de funciones o bloques de código.&lt;/li&gt;
&lt;li&gt;Para valores que &lt;strong&gt;no son estrictamente inmutables&lt;/strong&gt;, sino que simplemente no deberían cambiar después de ser asignados.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;userProfile&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Alice&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt; &lt;span class="c1"&gt;// Objeto con información del usuario.&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;h1El&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;js-mainTitle&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Elemento del DOM donde solo se modifica sus propiedades pero no la referencia.&lt;/span&gt;
&lt;span class="nx"&gt;h1El&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt; &lt;span class="c1"&gt;// 'Mi ecommerce'&lt;/span&gt;
&lt;span class="nx"&gt;h1El&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toUpperCase&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;// 'MI ECOMMERCE'&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;productDetails&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;123&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Zapatillas deportivas&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;price&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;49.99&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt; &lt;span class="c1"&gt;// Información de un producto devuelta por una API.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Convenciones para nombrar constantes del DOM
&lt;/h3&gt;

&lt;p&gt;Ahora es importante mencionar que cuando almacenamos o hacemos referencia a un elemento del DOM, lo que realmente solemos modificar son sus propiedades, como &lt;code&gt;textContent&lt;/code&gt;, &lt;code&gt;classList&lt;/code&gt; o estilos CSS, pero rara vez la referencia en sí. Por esta razón, utilizar &lt;code&gt;const&lt;/code&gt; en lugar de &lt;code&gt;let&lt;/code&gt;. Esta es una convención común al trabajar con elementos del DOM. Sin embargo, esto no es una regla estricta: si en algún momento necesitas usar let, hazlo siempre que se ajuste mejor a tus necesidades.&lt;/p&gt;

&lt;p&gt;Existen dos convenciones principales que ayudan a identificar rápidamente que una constante almacena un elemento del DOM:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sufijo &lt;strong&gt;el&lt;/strong&gt;: Añadir el sufijo al final del nombre de la constante facilita reconocer que la variable representa un nodo del DOM. Esta práctica es especialmente útil para mejorar la legibilidad del código. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Esto quiere decir que una contante local que almacene un elemento del DOM, seguira la sig. nomenclatura de nombrado: &lt;code&gt;lowerCalmelCase&lt;/code&gt; más el sufijo &lt;code&gt;el&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;addToCartButtonEl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;add-cart&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;productListEl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;product-list&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;toggleMenuButtonEl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;toggle-menu&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Prefijo &lt;strong&gt;$&lt;/strong&gt;:
Similar a la convención utilizada en jQuery, este prefijo indica que la constante hace referencia a un elemento del DOM. En esta convención se agregara el simbolo &lt;strong&gt;$&lt;/strong&gt; al inicio de la palabra seguido de la convecion &lt;strong&gt;lowerCalmelCase&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;$article&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ARTICLE&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ambas convenciones son válidas y cumplen el mismo propósito: identificar claramente que la constante almacena un nodo del DOM. Lo más importante es elegir una y aplicarla consistentemente en tu proyecto&lt;/p&gt;

&lt;h3&gt;
  
  
  🪐 Como no nombrar (cuídate de estas practicas).
&lt;/h3&gt;

&lt;p&gt;La siguientes practicas causan errores en la ejecución del código, así que tu variables:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No&lt;/strong&gt; pueden incluir espacios en blanco.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cart&lt;/span&gt; &lt;span class="nx"&gt;item&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No&lt;/strong&gt; pueden ser palabras reservadas del lenguaje.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Como function, class, var, const, if, while, etc.&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="err"&gt;= &lt;/span&gt;&lt;span class="nc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;    &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No&lt;/strong&gt; pueden comenzar con números, aunque sí incluirlos después de la primera letra.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="nx"&gt;cartItemCount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cartItemCount2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;// ❌ Mal, no genera error, pero evitar. números.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No&lt;/strong&gt; pueden contener &lt;a href="https://es.wikipedia.org/wiki/Signos_de_puntuaci%C3%B3n#Lista_de_signos_de_puntuaci%C3%B3n_en_espa%C3%B1ol" rel="noopener noreferrer"&gt;signos de puntuación&lt;/a&gt;, con la excepción de los signos &lt;strong&gt;$&lt;/strong&gt; y &lt;strong&gt;_&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;cartItemCount&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt;&lt;span class="nx"&gt;cartItemCount&lt;/span&gt;  &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No&lt;/strong&gt; pueden contener operadores aritméticos ni otros símbolos alfanuméricos.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cartI&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;temCount&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;año&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2024&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;      &lt;span class="c1"&gt;// ❌ Mal, no genera error pero evitar.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Evitar usar guiones bajos y normales.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cart&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Nota: La única excepción a la regla, es cuando se usa para nombrar constantes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  🪐 Nombres descriptivos basados  en el propósito del tipo
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Matrices (arrays)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cuando guardes listas de cosas, usa nombres en plural.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cartItems&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;  &lt;span class="c1"&gt;// ✅ Bien &lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Laptop&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;quantity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;price&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;999.99&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Mouse&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;quantity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;price&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;25.99&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;categories&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Electronics&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Home Appliances&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Books&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;  &lt;span class="c1"&gt;// ✅ Bien &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Booleanos (booleans)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Imagina una caja llena de switches y ninguno dice si está encendido o apagado🔌. Darle prefijos como &lt;strong&gt;is, has, o can&lt;/strong&gt; a tus variables booleanas es como etiquetar esos switches: &lt;strong&gt;isActive, hasPermission, canFly&lt;/strong&gt;. ¡Sabes lo que hace cada uno al instante! ⚡️. Te ayudan a identificar rápidamente que se trata un valor booleano. &lt;/p&gt;

&lt;p&gt;Por ejemplo, si necesitas una variable para verificar si se puede aplicar un descuento a un producto, un buen nombre sería &lt;strong&gt;canApplyDiscount&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;pendingOrders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;hasPendingOrders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ✅ Bien&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;userAdmin&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;isUserAdmin&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ✅ Bien&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;applyDiscount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ❌ Mal&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;canApplyDiscount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ✅ Bien&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Evita las negaciones&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En lugar de nombrar una variable como isNotUserAdmin, utilice isUserAdmin. Siempre debes abordar la convención de nombres desde el lado positivo.&lt;/p&gt;

&lt;p&gt;Veámoslo más claro en el sig. ejemplo. Entre estos nombres, ¿cuál te resulta más cómodo: isVisible o isInvisible?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isVisible&lt;/span&gt;    &lt;span class="c1"&gt;// ✅ Bien, simple, evitamos la carga cognitiva.&lt;/span&gt;
&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isInvisible&lt;/span&gt;  &lt;span class="c1"&gt;// ❌ Mal, innecesariamente complejo.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A continuación más ejemplos.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bien ✅&lt;/th&gt;
&lt;th&gt;Mal ❌&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;isOpen&lt;/td&gt;
&lt;td&gt;isClosed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isVisible&lt;/td&gt;
&lt;td&gt;isInvisible, isHidden, isShowing, show, hide&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isResolved&lt;/td&gt;
&lt;td&gt;isRejected&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isRight, isGood&lt;/td&gt;
&lt;td&gt;isWrong, isLeft, isBad&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hasValue&lt;/td&gt;
&lt;td&gt;isEmpty&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isDefined&lt;/td&gt;
&lt;td&gt;isUndefined&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isOwner&lt;/td&gt;
&lt;td&gt;isOwning, own, wasOwner, willBeOwner&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Funcione (functions)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para las funciones se recomienda usar camelCase y comenzar con un verbo que indique la acción que realiza la función.&lt;/p&gt;

&lt;p&gt;Además de eso, debes &lt;strong&gt;usar sustantivos&lt;/strong&gt; descriptivos como prefijos. Por ejemplo, si declaramos una función para recuperar un nombre, el nombre de la función debe ser &lt;strong&gt;getName&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getProductDetails&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;productId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Obtiene los detalles de un producto por su ID&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;addToCart&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;productId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;quantity&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Agrega un producto al carrito&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;deleteProduct&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;productId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Elimina un producto del catálogo&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;sendOrderConfirmationEmail&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;orderId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;userEmail&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Envía un correo de confirmación de pedido&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En cada caso:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;El &lt;strong&gt;verbo&lt;/strong&gt; indica la acción (&lt;code&gt;get&lt;/code&gt;, &lt;code&gt;add&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;strong&gt;&lt;code&gt;send&lt;/code&gt;&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;&lt;p&gt;El &lt;strong&gt;sustantivo&lt;/strong&gt; define la entidad sobre la que se actúa (&lt;code&gt;ProductDetails&lt;/code&gt;, &lt;code&gt;Cart&lt;/code&gt;, &lt;code&gt;Product&lt;/code&gt;, &lt;code&gt;OrderConfirmationEmail&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clases (class)&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para las clases se recomienda usar PascalCase y nombrarlas con un sustantivo en singular que represente una entidad o concepto del dominio. Un buen nombre de clase responde a la pregunta: ¿Qué representa esta clase?&lt;/p&gt;

&lt;p&gt;Además de eso, debes evitar prefijos o sufijos innecesarios. Por ejemplo, si modelamos un producto en un eCommerce, el nombre de la clase debe ser Product, en lugar de ProductClass o Products.&lt;/p&gt;

&lt;h4&gt;
  
  
  Usar PascalCase para clases y funciones constructoras.
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Product&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;price&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;price&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nf"&gt;getPriceWithTax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;taxRate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;price&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;taxRate&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si este contenido te inspiró, te identificaste o te aportó valor, compártelo que este es el primer registro en la Bitacora del capitan Dev y mantente cerca que seguiré creando más contenido como este para ayudarte a mejorar la calidad de tú y que no solo Skynet lo entienda.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Responsive Holy Grail Layout with Flexbox</title>
      <dc:creator>Ricardo Ortega Chap</dc:creator>
      <pubDate>Sat, 14 Dec 2019 02:43:30 +0000</pubDate>
      <link>https://dev.to/chapgpt_js/responsive-holy-grail-layout-with-flexbox-364j</link>
      <guid>https://dev.to/chapgpt_js/responsive-holy-grail-layout-with-flexbox-364j</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/richirrim/embed/zYxKKLx?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
    </item>
    <item>
      <title>Holy Grail Layout with Flexbox 1</title>
      <dc:creator>Ricardo Ortega Chap</dc:creator>
      <pubDate>Fri, 13 Dec 2019 21:16:17 +0000</pubDate>
      <link>https://dev.to/chapgpt_js/holy-grail-layout-with-flexbox-1-m44</link>
      <guid>https://dev.to/chapgpt_js/holy-grail-layout-with-flexbox-1-m44</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/richirrim/embed/oNgLPQW?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
    </item>
  </channel>
</rss>
