<?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: Vanessa</title>
    <description>The latest articles on DEV Community by Vanessa (@vancorcodes).</description>
    <link>https://dev.to/vancorcodes</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%2F1183481%2Fde23f70f-b930-470b-99dd-e76f5770d02c.png</url>
      <title>DEV Community: Vanessa</title>
      <link>https://dev.to/vancorcodes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vancorcodes"/>
    <language>en</language>
    <item>
      <title>Principios de la WCAG</title>
      <dc:creator>Vanessa</dc:creator>
      <pubDate>Wed, 20 Dec 2023 14:23:44 +0000</pubDate>
      <link>https://dev.to/vancorcodes/clean-code-y-buenas-practicas-con-javascript-589j</link>
      <guid>https://dev.to/vancorcodes/clean-code-y-buenas-practicas-con-javascript-589j</guid>
      <description>&lt;p&gt;La accesibilidad web es un tema por el que tengo especial interés. A mi juicio, toda persona debe tener acceso a los recursos web que tanto nos ayudan a crecer personal y profesionalmente (así como también nos entretienen 😉).&lt;/p&gt;

&lt;p&gt;Sin embargo, conviene subrayar qué es la accesibilidad y qué c#%”8!😤 significa esto de la WCAG, antes de comenzar con sus principios.&lt;/p&gt;

&lt;p&gt;La accesibilidad web no es más que un concepto de desarrollo que busca asegurar una buena experiencia de usuario para las personas con capacidades reducidas.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ok... todo bien hasta ahí pero ¿qué es WCAG?!!... 😬&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;WCAG (Web Content Accessibility Guidelines, en español Pautas de Accesibilidad para el Contenido Web), son recomendaciones creadas por la W3C (World Wide Web Consortium) con el objetivo de crear un estándar para que el contenido web sea más accesible.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Cito de su página:&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Los documentos WCAG explican cómo hacer el contenido web más accesible para las personas con discapacidad. Por “contenido” web se hace referencia, generalmente, a la información que se puede encontrar en una página o aplicación web, lo cual incluye: Información natural como textos, imágenes y sonidos; Código o marcado que define la estructura, la presentación, etc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dentro de las WCAG tenemos 12 criterios, que a su vez se divide cada uno en 3 niveles que determinan el nivel de inversión que se hará en accesibilidad. Nivel A (básico), Nivel AA (Intermedio) y Nivel AAA (Más alto). Esto último lo dejaré para otro artículo.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ahora se viene lo bueno… 🤓&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Principios de WCAG
&lt;/h3&gt;

&lt;p&gt;Las WCAG no son perfectas, pero es muy importante tener presente sus 4 principios para que nuestras páginas web sean más accesibles. &lt;em&gt;Trate de ser lo más llana posible en la descripción de los mismos:&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Perceptible: Todo lo que presentes en la web debe ser percibido por tus usuarios&lt;/strong&gt; (&lt;em&gt;que les llegue al cerebro y lo interpreten&lt;/em&gt;).

&lt;ul&gt;
&lt;li&gt;Por ejemplo, quieres mostrar una información a tus usuarios pero solo tienes una manera de mostrar esa información, dígase visualmente por la interfaz gráfica pero tus usuarios no tienen acceso a la pantalla o no tiene la visión, como resultado esos usuarios no podrán recibir esa información. Entonces lo ideal sería apoyarse también de un formato más accesible como lo es el texto. El texto suele ser uno de los elementos más perceptibles ya que puede ser leído por el usuario o por un lector de pantalla, traducido, ampliado, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operable: Tu web no debe depender de un ratón o de un teclado&lt;/strong&gt; para que cualquier usuario que por cualquier motivo no disponga de estos dispositivos pueda tener alternativas para operar tu sitio.

&lt;ul&gt;
&lt;li&gt;Cuando desarrollamos una web operable, le quitamos la dependencia del ratón y teclado para recibir a todos esos usuarios que navegan por la web de una manera diferente.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comprensible: Cualquier persona que use tu página debe poder entenderla,&lt;/strong&gt; debe comprender qué les estás diciendo. ¿Qué hace tu sitio?, ¿Cómo operarlo?, ¿Qué información requiere tu sitio de tus usuarios?, ¿Cómo suministrar esa información?

&lt;ul&gt;
&lt;li&gt;Por ejemplo al llenar un formulario o si están realizando otro paso, que sepan si cometieron un error y que sepan cómo corregirlo.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Robusto: Debe ser operable sin importar en contexto desde donde es utilizado.&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Por ejemplo: Si, algunos usuarios usarán el Internet Explorer, crea tu sitio para que sea compatible tanto con los últimos navegadores como con los más viejitos. Igualmente piensa en el hardware, no todos tus usuarios tendrán dispositivos modernos. Otro punto importante es que pienses en la conectividad, la banda ancha no llega a todos lados y hay lugares donde la conectividad es muy precaria.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Si tenemos en cuenta estos cuatro principios al momento de desarrollar estaríamos aplicando la lógica para saber si nuestros sitios web son realmente accesibles.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fuente: &lt;a href="https://www.w3.org/WAI/standards-guidelines/wcag/es"&gt;Introducción a las Pautas de Accesibilidad para el Contenido Web (WCAG)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>wcag</category>
      <category>javascript</category>
      <category>programming</category>
      <category>accesibilidad</category>
    </item>
    <item>
      <title>🚀Clean Code y buenas prácticas con JavaScript - Cómo nombrar variables, funciones y clases de forma autodescriptiva</title>
      <dc:creator>Vanessa</dc:creator>
      <pubDate>Mon, 04 Dec 2023 21:00:24 +0000</pubDate>
      <link>https://dev.to/vancorcodes/clean-code-y-buenas-practicas-con-javascript-como-nombrar-variables-funciones-y-clases-de-forma-autodescriptiva-4f19</link>
      <guid>https://dev.to/vancorcodes/clean-code-y-buenas-practicas-con-javascript-como-nombrar-variables-funciones-y-clases-de-forma-autodescriptiva-4f19</guid>
      <description>&lt;p&gt;Nombrar correctamente nuestras variables, funciones y clases es esencial para escribir un código limpio y comprensible. Aunque las reglas de nomenclatura nos dicen que evitemos detalles técnicos, es crucial que nuestros nombres reflejen la naturaleza y el propósito de cada elemento. Aquí hay algunas pautas para nombrar según el tipo de dato:&lt;/p&gt;

&lt;h3&gt;
  
  
  Arrays: Lista de Elementos
&lt;/h3&gt;

&lt;p&gt;Cuando trabajamos con arrays, es fundamental usar nombres de variables en plural para denotar su naturaleza de colección. Veamos la evolución de un nombre:&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;// No recomendado&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;user&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="s2"&gt;Alex&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="s2"&gt;Mariana&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="s2"&gt;Jessica&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// Regular&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;userList&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="s2"&gt;Alex&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="s2"&gt;Mariana&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="s2"&gt;Jessica&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// Bueno&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;users&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="s2"&gt;Alex&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="s2"&gt;Mariana&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="s2"&gt;Jessica&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// Excelente&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;userNames&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="s2"&gt;Alex&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="s2"&gt;Mariana&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="s2"&gt;Jessica&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;h3&gt;
  
  
  Booleans: Valores True o False
&lt;/h3&gt;

&lt;p&gt;Para variables booleanas, es útil agregar prefijos que indiquen su naturaleza. Utilizamos "is," "has," o "can" para hacer que el nombre sea más descriptivo:&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;// No recomendado&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;valid&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;read&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&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;color&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;// Recomendado&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;isValid&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;canRead&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&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;hasColor&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Números: Variables que Contienen Valores Numéricos
&lt;/h3&gt;

&lt;p&gt;Cuando trabajamos con números, prefijos como "max," "min," y "total" ayudan a entender el propósito de la variable:&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;// No recomendado&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;users&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Recomendado&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;maxUsers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;50&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;minUsers&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;totalUsers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Funciones: Acciones en el Código
&lt;/h3&gt;

&lt;p&gt;Las funciones representan acciones y deben ser concisas y descriptivas. Se sugiere que inicien con un verbo seguido de un sustantivo:&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;// No recomendado&lt;/span&gt;
&lt;span class="nf"&gt;createUserIfNotExist&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nf"&gt;updateUserIfNotEmpty&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nf"&gt;sendEmailIfIsValid&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Recomendado&lt;/span&gt;
&lt;span class="nf"&gt;createUser&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nf"&gt;updateUser&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nf"&gt;sendEmail&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Funciones de Acceso, Modificación o Predicado
&lt;/h3&gt;

&lt;p&gt;Cuando se trata de funciones de acceso, modificación o predicado, añadir prefijos como "get," "set," o "is" mejora la legibilidad:&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;// Ejemplo&lt;/span&gt;
&lt;span class="nf"&gt;getUser&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nf"&gt;setUser&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nf"&gt;isValidUser&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Clases: Responsabilidad Única y Sustantivos Descriptivos
&lt;/h3&gt;

&lt;p&gt;En el caso de clases, es crucial seguir el principio de responsabilidad única y utilizar sustantivos descriptivos en lugar de nombres genéricos:&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;// No recomendado&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Data&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;Manager&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;Info&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;

&lt;span class="c1"&gt;// Recomendado&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;User&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;UserProfile&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;Account&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Siguiendo estas prácticas de nomenclatura, tu código se volverá más autodescriptivo, facilitando su mantenimiento y comprensión tanto para ti como para otros desarrolladores que puedan trabajar con él.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀Clean Code y Buenas Prácticas con JavaScript - Reglas del diseño simple</title>
      <dc:creator>Vanessa</dc:creator>
      <pubDate>Sun, 03 Dec 2023 19:19:28 +0000</pubDate>
      <link>https://dev.to/vancorcodes/clean-code-y-buenas-practicas-con-javascript-1i0k</link>
      <guid>https://dev.to/vancorcodes/clean-code-y-buenas-practicas-con-javascript-1i0k</guid>
      <description>&lt;p&gt;Cuando hablamos de programación, no solo se trata de que funcione; también se trata de hacerlo de la manera más clara, eficiente y sostenible posible. Es por eso que adoptar principios de Clean Code y seguir buenas prácticas en JavaScript se vuelve esencial. Aquí te presentamos cuatro reglas del diseño simple que te ayudarán a elevar la calidad de tu código:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. ✅ Código que pasa los test:
&lt;/h3&gt;

&lt;p&gt;Una señal segura de un código bien diseñado es su capacidad para superar pruebas de manera consistente. Establecer test robustos no solo verifica la corrección de tu código, sino que también contribuye a la seguridad operativa. Un conjunto completo de buenos test proporciona una red de seguridad, asegurando que tu código funcione como se espera y reduciendo el riesgo de errores.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 🧠 Revela la intención del diseño:
&lt;/h3&gt;

&lt;p&gt;El código debe ser como un libro abierto, revelando claramente la intención detrás de cada línea. Cuando alguien revisa tu código, no debería tener que adivinar qué estás tratando de lograr. Opta por nombres descriptivos para variables, funciones y métodos. Un código autoexplicativo no solo facilita la lectura y el mantenimiento, sino que también mejora la colaboración en equipos.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. 🚫 Respeta el principio DRY: “don't repeat yourself”:
&lt;/h3&gt;

&lt;p&gt;La repetición de código es un enemigo silencioso. Cada duplicación incrementa la posibilidad de errores y dificulta el mantenimiento. Siguiendo el principio DRY, evita repetir fragmentos de código. Abstrae funciones y utiliza la modularidad para compartir lógica común. Al hacerlo, no solo mejoras la coherencia, sino que también facilitas futuras modificaciones y actualizaciones.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. 🧩 Menor número posible de elementos:
&lt;/h3&gt;

&lt;p&gt;La simplicidad es clave. Divide tu código en funciones, cada una realizando una acción específica. Siguiendo el principio "una función = una acción", tu código se vuelve más comprensible y mantenible. Evita funciones abarrotadas que realizan múltiples tareas y busca la elegancia en la simplicidad. Cuantos menos elementos tenga tu código, más fácil será de entender y mantener.&lt;/p&gt;

&lt;p&gt;Al adoptar estas reglas del diseño simple, no solo mejorarás la calidad de tu código, sino que también sentarás las bases para un desarrollo más eficiente y colaborativo. ¡A codificar de manera limpia y eficaz en JavaScript! 💻✨&lt;/p&gt;

</description>
      <category>cleancode</category>
      <category>javascript</category>
      <category>buenasprácticas</category>
      <category>vancorcodes</category>
    </item>
    <item>
      <title>Simplificar el flujo de trabajo con la magia de los Mixins</title>
      <dc:creator>Vanessa</dc:creator>
      <pubDate>Sat, 14 Oct 2023 18:18:38 +0000</pubDate>
      <link>https://dev.to/vancorcodes/simplificar-el-flujo-de-trabajo-con-la-magia-de-los-mixins-5e44</link>
      <guid>https://dev.to/vancorcodes/simplificar-el-flujo-de-trabajo-con-la-magia-de-los-mixins-5e44</guid>
      <description>&lt;p&gt;En el apasionante mundo del desarrollo de aplicaciones Vue, los mixins destacan como una herramienta poderosa y versátil para simplificar y mejorar el flujo de trabajo del desarrollador. Estos pequeños pero poderosos fragmentos de código son un recurso esencial para la reutilización inteligente de funcionalidades comunes en múltiples componentes.&lt;/p&gt;

&lt;p&gt;Los mixins en Vue permiten a los desarrolladores encapsular lógica y comportamientos específicos en un conjunto reutilizable de opciones de componente. Al hacerlo, los desarrolladores pueden evitar la duplicación de código, mejorar la modularidad y la legibilidad del código, y acelerar significativamente el proceso de desarrollo.&lt;/p&gt;

&lt;p&gt;En esta guía exhaustiva, exploraremos en detalle el concepto de mixins y su papel fundamental en la simplificación del desarrollo de aplicaciones Vue. Descubriremos cómo estos fragmentos de código mágicos pueden transformar la forma en que construimos y mantenemos nuestras aplicaciones, ofreciendo un enfoque más eficiente y elegante para la gestión de la lógica del componente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Consejos para la organización efectiva de Mixins en tu proyecto Vue
&lt;/h3&gt;

&lt;p&gt;Los mixins son herramientas potentes, pero para maximizar su eficacia y mantenibilidad, es crucial adoptar una estructura clara y organizada. Aquí hay algunos consejos prácticos para organizar mixins de manera efectiva en tu proyecto Vue:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Separación de responsabilidades:&lt;/strong&gt; Divide tus mixins en categorías basadas en la funcionalidad y la responsabilidad. Por ejemplo, puedes tener mixins para manipulación de datos, mixins de animación, mixins de interacción con el usuario, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nomenclatura consistente:&lt;/strong&gt; Utiliza una convención de nomenclatura coherente y descriptiva para tus mixins. Opta por nombres que reflejen claramente su propósito y función dentro del proyecto.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Estructura de archivos organizada:&lt;/strong&gt; Almacena tus mixins en archivos separados para facilitar la búsqueda y la gestión. Agrupa tus archivos según su función y relación con los componentes respectivos.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentación detallada:&lt;/strong&gt; Proporciona comentarios claros y exhaustivos en tus mixins para explicar su propósito, uso y cualquier consideración importante para los desarrolladores que puedan utilizarlos en el futuro.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reutilización selectiva:&lt;/strong&gt; Asegúrate de que tus mixins sean lo suficientemente flexibles y modulares para que puedan ser reutilizados en diferentes contextos sin crear dependencias innecesarias o conflictos de código.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Siguiendo estos consejos, podrás estructurar tus mixins de manera eficiente y mantener un flujo de trabajo claro y organizado en tu proyecto Vue, lo que facilitará la colaboración y el mantenimiento a largo plazo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Evitar conflictos y problemas potenciales al utilizar Mixins en múltiples componentes
&lt;/h3&gt;

&lt;p&gt;Si bien los mixins son una herramienta valiosa, su uso indiscriminado puede conducir a conflictos y problemas potenciales, especialmente al implementarlos en varios componentes. Aquí hay algunas mejores prácticas para garantizar un uso seguro y eficiente de mixins en tu proyecto Vue:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Evitar nombres genéricos:&lt;/strong&gt; Asigna nombres únicos y específicos a tus mixins para evitar colisiones de nombres y confusiones en el uso de métodos y propiedades compartidas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comprobación de existencia:&lt;/strong&gt; Antes de usar un mixin en un componente, asegúrate de verificar si ya se ha aplicado un mixin similar para evitar posibles conflictos y redundancias en la lógica del componente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control de versiones y actualizaciones:&lt;/strong&gt; Mantén un control estricto de las versiones de tus mixins y asegúrate de actualizar y mantener consistentes las versiones utilizadas en diferentes componentes para evitar incompatibilidades y problemas de rendimiento.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pruebas exhaustivas:&lt;/strong&gt; Realiza pruebas exhaustivas para detectar posibles conflictos o comportamientos inesperados que puedan surgir al aplicar mixins en varios componentes. Asegúrate de probar su interacción con otros mixins y componentes del proyecto.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitorización continua:&lt;/strong&gt; Supervisa continuamente el rendimiento y la compatibilidad de tus mixins en diferentes partes de la aplicación para detectar y resolver cualquier problema potencial de manera oportuna.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Al comprender plenamente el potencial de los mixins y su impacto positivo en el desarrollo de aplicaciones Vue, los desarrolladores pueden construir aplicaciones más robustas, escalables y eficientes que satisfagan las demandas de un entorno de desarrollo en constante evolución.&lt;/p&gt;

</description>
      <category>vue</category>
    </item>
    <item>
      <title>Instancias de componentes en vue</title>
      <dc:creator>Vanessa</dc:creator>
      <pubDate>Fri, 13 Oct 2023 13:18:14 +0000</pubDate>
      <link>https://dev.to/vancorcodes/instancias-de-componentes-en-vue-4o76</link>
      <guid>https://dev.to/vancorcodes/instancias-de-componentes-en-vue-4o76</guid>
      <description>&lt;p&gt;Imagina que estás construyendo una casa con bloques de construcción. Cada bloque es como un componente en Vue. Cada uno tiene su propia forma y función especial.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Una instancia de componente en Vue es como una casa que estás construyendo con esos bloques. Es una versión específica y completa de esa casa, con sus propias características y personalidad.&lt;/li&gt;
&lt;li&gt;Cada instancia de componente se comporta como una casa diferente, aunque estén hechas de los mismos bloques básicos. Puedes personalizar cada casa con diferentes colores, tamaños y estilos, al igual que puedes personalizar las instancias de componentes en Vue con diferentes datos y lógica.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Característica&lt;/th&gt;
&lt;th&gt;Propiedades de instancia de componentes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Descripción&lt;/td&gt;
&lt;td&gt;Son atributos o datos que pertenecen a una instancia de componente Vue.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uso&lt;/td&gt;
&lt;td&gt;Se utilizan para almacenar y acceder a datos específicos dentro de un componente.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Declaración y asignación&lt;/td&gt;
&lt;td&gt;Se pueden declarar e inicializar en el bloque data de un componente o mediante asignación directa dentro de los métodos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reactividad&lt;/td&gt;
&lt;td&gt;Las propiedades de instancia reactivas se actualizan automáticamente cuando cambian sus valores.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alcance de la instancia&lt;/td&gt;
&lt;td&gt;Son específicas de cada instancia de componente, lo que significa que no se comparten entre diferentes instancias de componentes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Acceso desde componentes hijos&lt;/td&gt;
&lt;td&gt;Pueden pasarse como props a componentes hijos para permitir el flujo descendente de datos.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;En resumen, las instancias de componentes en Vue son como casas únicas que construyes usando los mismos bloques básicos de Vue, pero con personalizaciones y funcionalidades específicas para cada una.&lt;/p&gt;

&lt;h2&gt;
  
  
  Propiedades de instancias
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;$el&lt;/strong&gt;: Se refiere al elemento HTML real al que Vue está vinculado. &lt;em&gt;Es como la dirección física de una casa, indica dónde Vue está presente en el DOM.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$props&lt;/strong&gt;: Representa las propiedades pasadas a un componente desde su componente padre. &lt;em&gt;Son como los argumentos o datos que se pasan a una función en la programación.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$data&lt;/strong&gt;: Contiene los datos internos de un componente. &lt;em&gt;Es como una caja que contiene todas las variables y estados que un componente utiliza para su funcionamiento.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$options&lt;/strong&gt;: Contiene las opciones de configuración y propiedades de un componente. &lt;em&gt;Es como el manual de instrucciones que detalla cómo se debe configurar y comportar un componente.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$slots&lt;/strong&gt;: Se utilizan para permitir que el contenido sea pasado desde el componente principal al componente hijo. &lt;em&gt;Son como áreas designadas en un formulario donde se puede insertar información adicional.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$refs&lt;/strong&gt;: Se utilizan para acceder a elementos del DOM o componentes hijos desde un componente padre. &lt;em&gt;Son como etiquetas o marcadores que ayudan a referenciar y acceder a elementos específicos.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$attrs&lt;/strong&gt;: Contiene los atributos no reconocidos pasados a un componente. &lt;em&gt;Son como atributos HTML adicionales que se pasan a un componente personalizado y que no se reconocen como props.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Propiedad&lt;/th&gt;
&lt;th&gt;Descripción&lt;/th&gt;
&lt;th&gt;Uso y Aplicación&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;$el&lt;/td&gt;
&lt;td&gt;Hace referencia al elemento DOM real al que está vinculado una instancia de componente.&lt;/td&gt;
&lt;td&gt;Útil para acceder directamente al elemento DOM relacionado.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$props&lt;/td&gt;
&lt;td&gt;Contiene las propiedades pasadas al componente desde su componente padre.&lt;/td&gt;
&lt;td&gt;Se utilizan para transferir datos del componente padre al componente hijo.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$data&lt;/td&gt;
&lt;td&gt;Contiene los datos del componente, definidos en el componente como una función que devuelve un objeto.&lt;/td&gt;
&lt;td&gt;Se utiliza para almacenar y manipular datos específicos del componente.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$options&lt;/td&gt;
&lt;td&gt;Contiene las opciones de inicialización del componente, incluidos los hooks, métodos y otros atributos.&lt;/td&gt;
&lt;td&gt;Útil para acceder a las opciones y propiedades definidas del componente.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$slots&lt;/td&gt;
&lt;td&gt;Proporciona acceso a los contenidos entre las etiquetas de apertura y cierre de un componente en su componente padre.&lt;/td&gt;
&lt;td&gt;Utilizado para renderizar contenido dinámico dentro del componente.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$refs&lt;/td&gt;
&lt;td&gt;Proporciona acceso a los elementos del DOM o instancias de componentes dentro de un componente.&lt;/td&gt;
&lt;td&gt;Se utiliza para acceder directamente a elementos del DOM o componentes hijos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$attrs&lt;/td&gt;
&lt;td&gt;Contiene los atributos no reconocidos (no props) pasados a un componente, útil en componentes de nivel superior que pasan atributos a componentes hijos.&lt;/td&gt;
&lt;td&gt;Utilizado para acceder a los atributos no reconocidos pasados al componente.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>vue</category>
    </item>
    <item>
      <title>Method VS Computed - (vue)</title>
      <dc:creator>Vanessa</dc:creator>
      <pubDate>Thu, 12 Oct 2023 17:10:19 +0000</pubDate>
      <link>https://dev.to/vancorcodes/method-vs-computed-vue-1npf</link>
      <guid>https://dev.to/vancorcodes/method-vs-computed-vue-1npf</guid>
      <description>&lt;p&gt;La principal distinción radica en su reactividad. Las propiedades computadas operan de manera reactiva, similar a las variables, mientras que los métodos no siguen esta misma pauta.&lt;/p&gt;

&lt;h2&gt;
  
  
  Principales diferencias
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Característica&lt;/th&gt;
&lt;th&gt;Métodos&lt;/th&gt;
&lt;th&gt;Prop Computadas&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ejecución&lt;/td&gt;
&lt;td&gt;Invocados manualmente o en eventos.&lt;/td&gt;
&lt;td&gt;Reactivos, se ejecutan automáticamente cuando sus dependencias cambian.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Parámetros de entrada&lt;/td&gt;
&lt;td&gt;Pueden recibir parámetros de entrada.&lt;/td&gt;
&lt;td&gt;No pueden recibir parámetros de entrada.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Valor de retorno&lt;/td&gt;
&lt;td&gt;Pueden optar por no devolver un valor.&lt;/td&gt;
&lt;td&gt;Deben devolver un valor.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Eficiencia&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No tienen caché, se ejecutan siempre, incluso si el resultado es el mismo.&lt;/td&gt;
&lt;td&gt;Tienen caché, lo que evita ejecuciones innecesarias si el valor no ha cambiado.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uso común&lt;/td&gt;
&lt;td&gt;Útiles para realizar acciones o cálculos con lógica personalizada.&lt;/td&gt;
&lt;td&gt;Ideales para cálculos o transformaciones de datos que dependen de otros datos reactivos.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Invocación dentro de otros métodos&lt;/td&gt;
&lt;td&gt;Comúnmente invocados dentro de otros métodos.&lt;/td&gt;
&lt;td&gt;No se recomienda invocar propiedades computadas dentro de otros métodos debido a la caché. Se debe buscar una alternativa.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;La reactividad en las propiedades computadas implica que cuando el valor de los datos cambia, la propiedad computada se activa automáticamente y proporciona el nuevo valor.&lt;/p&gt;

&lt;p&gt;Es importante destacar que las propiedades computadas no aceptan argumentos de entrada, a diferencia de los métodos, que pueden recibirlos. Además, las propiedades computadas siempre deben devolver un valor, mientras que los métodos pueden optar por no hacerlo.&lt;/p&gt;

&lt;p&gt;Otro punto de divergencia es que las propiedades computadas poseen una memoria caché, lo que significa que utilizar propiedades computadas resulta más eficiente, ya que Vue puede reconocer si la propiedad computada producirá el mismo valor y, en ese caso, evitará ejecutarla nuevamente para ahorrar recursos de cálculo. En cambio, los métodos se ejecutan invariablemente, incluso si el resultado es idéntico.&lt;/p&gt;

&lt;p&gt;Por último, es común invocar propiedades computadas desde dentro de los métodos, mientras que no se aconseja ejecutar métodos dentro de propiedades computadas, debido a la posibilidad de utilizar la memoria caché. En tales casos, se recomienda explorar alternativas para evitar esta práctica.&lt;/p&gt;

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