<?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: Marlow Haspert</title>
    <description>The latest articles on DEV Community by Marlow Haspert (@kawzar).</description>
    <link>https://dev.to/kawzar</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%2F371928%2F8aa0e7cc-98e9-455f-aaff-59d0af7d327d.jpg</url>
      <title>DEV Community: Marlow Haspert</title>
      <link>https://dev.to/kawzar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kawzar"/>
    <language>en</language>
    <item>
      <title>Los registros de la Commodore64</title>
      <dc:creator>Marlow Haspert</dc:creator>
      <pubDate>Tue, 12 Jul 2022 00:50:09 +0000</pubDate>
      <link>https://dev.to/kawzar/los-registros-de-la-commodore64-2092</link>
      <guid>https://dev.to/kawzar/los-registros-de-la-commodore64-2092</guid>
      <description>&lt;h2&gt;
  
  
  Introducción
&lt;/h2&gt;

&lt;p&gt;Si nos hemos decidido a aprender a programar en el llamado "lenguaje de máquina" de la Commodore 64, en seguida nos encontraremos con algo llamado registros. &lt;/p&gt;

&lt;p&gt;En la disciplina de arquitectura de computadoras se llama  registros a memoria muy rápida, usada para ejecutar programas y operaciones de forma eficiente. El propósito de tener registros es poder consultar rápidamente datos para ser procesados por el CPU, incluso más rápidamente que accediendo a través de la memoria RAM. &lt;/p&gt;




&lt;h2&gt;
  
  
  Registros de la C64
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A - Acumulador
&lt;/h3&gt;

&lt;p&gt;En el lenguaje de máquina se hace referencia a él simplemente como A y es utilizado principalmente para operaciones aritméticas y lógicas. El resultado de este tipo de operaciones se guarda en este registro y muchas instrucciones hacen referencia a él de forma implícita, o de forma semi-implícita.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;; Ejemplo: Sumar 2+3
lda #02     ; guardar 2 en A (explicito)
add #03     ; agregar 3 al valor guardado en A (implicito)
sta $C000   ; guardar el resultado en la direccion de memoria $C000 (explicito)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  X - Registro Indice X
&lt;/h3&gt;

&lt;p&gt;Es utilizado para cargarle valores que luego seran utilizados como un offset para una determinada dirección de memoria. Esto es útil para recorrer direcciones de memoria consecutivas en ciclos.&lt;/p&gt;
&lt;h4&gt;
  
  
  Modo de direccionamiento absoluto indizado por X (Absolute Indexed by X Addressing)
&lt;/h4&gt;

&lt;p&gt;En este modo de direccionamiento, la dirección en cuestión se crea a partir de la locación de 16 bits más el contenido del registro X. Por ejemplo, la instrucción &lt;/p&gt;

&lt;p&gt;&lt;code&gt;lda $0400, x&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;carga el valor de la locación $0405 cuando el registro X tiene el valor #$05.&lt;/p&gt;
&lt;h4&gt;
  
  
  Modo de direccionamiento indirecto indizado(Indirect Indexed Addressing)
&lt;/h4&gt;

&lt;p&gt;Muy similar al anterior, con la diferencia que la dirección de base será guardada en la memoria y por lo tanto accedida de forma indirecta.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;



&lt;h3&gt;
  
  
  Y - Registro Indice Y
&lt;/h3&gt;

&lt;p&gt;Tiene un uso analogo al del registro X, y los mismos modos de direccionamiento. Sin embargo puede utilizarse en conjunto con el acumulador para hacer cosas que necesitan 16 bits de espacio. &lt;/p&gt;

&lt;h3&gt;
  
  
  PC - Program counter
&lt;/h3&gt;

&lt;p&gt;Tambien conocido como puntero de instrucciones, es el único registro de 16 bits en la CPU 6510 y guarda la dirección de memoria de la instrucción que está siendo actualmente ejecutada en la C64. Se puede modificar el valor del PC utilizando instrucciones como jumping o branching. Cuando el CPU ejecuta una instrucción de la memoria, el PC es incrementado de forma automática. &lt;/p&gt;

&lt;h3&gt;
  
  
  P - Registro de estado P
&lt;/h3&gt;

&lt;p&gt;Es un registro de 8bits, pero su valor no se considera en su totalidad. En su lugar, hay que mirar cada uno de sus bits de forma individual como si fueran banderas. Para manipular estas banderas, es importante conocer sobre &lt;a href="https://medium.com/analytics-vidhya/bits-bitmasking-62277789f6f5"&gt;bit-masking&lt;/a&gt;. &lt;/p&gt;




&lt;h2&gt;
  
  
  Recursos
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://retro-programming.com/what-are-c64-registers/"&gt;What are C64 registers&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.geeksforgeeks.org/different-classes-of-cpu-registers/"&gt;Different classes of CPU registers&lt;/a&gt;&lt;br&gt;
&lt;a href="https://dustlayer.com/cpu-6510-articles/2013/5/23/whatever-you-like-coming-to-addressing-modes"&gt;Addressing Modes&lt;/a&gt;&lt;/p&gt;

</description>
      <category>retroprogramming</category>
      <category>c64</category>
      <category>assembly</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Builds desde Unity en la nube(sin salir de GitHub) ☁️🔧 [2/3]</title>
      <dc:creator>Marlow Haspert</dc:creator>
      <pubDate>Mon, 02 May 2022 16:47:18 +0000</pubDate>
      <link>https://dev.to/kawzar/builds-desde-unity-en-la-nubesin-salir-de-github-23-hi0</link>
      <guid>https://dev.to/kawzar/builds-desde-unity-en-la-nubesin-salir-de-github-23-hi0</guid>
      <description>&lt;h2&gt;
  
  
  Introducción
&lt;/h2&gt;

&lt;p&gt;En el &lt;a href="https://dev.to/kawzar/builds-desde-unity-en-la-nubesin-salir-de-github-13-10hc"&gt;post anterior de esta serie&lt;/a&gt;, vimos una introduccion a las GitHub Actions y tambien maquetamos lo que sera nuestro workflow para esta serie de posts. &lt;/p&gt;

&lt;p&gt;Asi habia quedado:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h2&gt;
  
  
  Modelo mental
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Agregaremos dos nuevos jobs a nuestro workflow. Estos se ejecutaran luego del build.&lt;/li&gt;
&lt;li&gt;El primero de esos jobs, copia la build que expusimos como artifact en el paso anterior a un servidor FTP.&lt;/li&gt;
&lt;li&gt;El segundo job, manda un mensaje a Discord una vez que la copia al FTP se realizo correctamente. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Manos a la obra
&lt;/h2&gt;

&lt;p&gt;Como ya nos familiarizamos con el pipeline de las GitHub Actions en el post anterior, voy a dejar mas abajo el esqueleto del workflow terminado exceptuando el detalle del codigo para el job de build. &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h3&gt;
  
  
  Copiar al FTP
&lt;/h3&gt;

&lt;p&gt;En este caso, usaremos el action &lt;a href="https://github.com/isthatcentered/dist-to-ftp"&gt;dist-to-ftp&lt;/a&gt; que se encuentra disponible en el Marketplace de GitHub Actions.&lt;/p&gt;

&lt;p&gt;Para guardar de forma segura la URL de nuestro FTP, asi como sus accesos usaremos &lt;em&gt;secrets&lt;/em&gt;. Los secretos pueden configurarse en GitHub a nivel de repositorio en &lt;code&gt;Settings -&amp;gt; Secrets -&amp;gt; Actions&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Qojs-f78--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jejo5hpd4termfn6y1z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Qojs-f78--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jejo5hpd4termfn6y1z.png" alt="Listado de secrets en un repositorio" width="800" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Mandar un mensaje a Discord
&lt;/h3&gt;

&lt;p&gt;De nuevo usaremos una accion disponible en el marketplace, esta vez &lt;a href="https://github.com/Ilshidur/action-discord"&gt;action-discord&lt;/a&gt;. Leyendo su documentacion nos encontramos con que primero debemos configurar un WebHook para un canal en nuestro servidor Discord. Esto puede hacerse &lt;a href="https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks"&gt;siguiendo los pasos dados en su propia documentacion&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Una vez que creamos nuestro webhook, guardaremos nuevamente estos valores como &lt;em&gt;secrets&lt;/em&gt; a nivel del repositorio.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wrap up
&lt;/h3&gt;

&lt;p&gt;Si vamos a la pestaña de &lt;code&gt;Actions&lt;/code&gt; tal y como en el post anterior, podemos correr nuevamente el workflow y chequear su ejecucion. &lt;br&gt;
Si todo resulto bien, cuando el build se realice y se copie exitosamente al FTP, recibiremos un mensaje en nuestro canal de discord con un link que apunta a la nueva version. &lt;/p&gt;




&lt;p&gt;La imagen de cabecera es de Natasha Remarchuk&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>github</category>
      <category>unity3d</category>
    </item>
    <item>
      <title>Builds desde Unity en la nube (sin salir de GitHub) ☁️🔧[1/3]</title>
      <dc:creator>Marlow Haspert</dc:creator>
      <pubDate>Tue, 25 Jan 2022 02:06:02 +0000</pubDate>
      <link>https://dev.to/kawzar/builds-desde-unity-en-la-nubesin-salir-de-github-13-10hc</link>
      <guid>https://dev.to/kawzar/builds-desde-unity-en-la-nubesin-salir-de-github-13-10hc</guid>
      <description>&lt;h2&gt;
  
  
  Introducción
&lt;/h2&gt;

&lt;p&gt;Desde que empecé a meterme en el mundo del &lt;em&gt;gamedev&lt;/em&gt;, un poco empecé también a &lt;em&gt;sentir un vacío&lt;/em&gt;. Ese vacío en realidad era la falta de herramientas para la desarrolladora que trabaja usando Unity como motor y que estaba acostumbrada a que en las grandes software factories lxs devs estén obligadxs a cumplir con un montón de estándares y de chequeos automáticos.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Este es el primero de una serie de tres posts en donde espero poder compartirles de forma sencilla pero no acotada, el workflow que estamos actualmente utilizando en el estudio para buildear y publicar a un servidor local un proyecto en WebGL&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Es tambien una serie de textos que decido encarar en castellano como resultado de una decision politica y que tiene un tono (demasiado) personal porque no encontre otra forma de escribir. &lt;br&gt;
Asi que espero que ante cualquier duda o comentario no duden en dar su feedback :) y sin mas dilaciones empecemos por el principio...&lt;/p&gt;
&lt;h2&gt;
  
  
  GitHub Actions
&lt;/h2&gt;

&lt;p&gt;GitHub Actions es una plataforma de integración y entregas continuas que forma parte del entorno GitHub y permite a los usuarios automatizar sus procesos de build, test y deployment. No está destinado únicamente a DevOps, ya que los workflows creados se pueden ejecutar como respuesta a distintos eventos que suceden en el repositorio o dispararlos on-demand. Un workflow es un proceso automatizado y configurable que ejecuta uno o más jobs. Se definen en un archivo YAML, que se pushea al repositorio como cualquier otro archivo. Para conocer más sobre GitHub actions, se puede consultar la &lt;a href="https://docs.github.com/en/actions"&gt;documentación oficial&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  GameCI
&lt;/h2&gt;

&lt;p&gt;Investigando un poco las acciones disponibles en el marketplace oficial de GitHub, me encontré con una comunidad que tiene como objetivo facilitar la incorporación de técnicas de integración continua de alta calidad a proyectos de videojuegos. Se llama &lt;a href="https://game.ci/"&gt;GameCI&lt;/a&gt; y vamos a estar utilizando algunos de los workflows que proveen.&lt;/p&gt;
&lt;h2&gt;
  
  
  Modelo mental
&lt;/h2&gt;

&lt;p&gt;Vamos a tener un workflow que consta de tres pasos (jobs)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hacer el build desde Unity: nuestro ejecutable se expondrá como un artifact que puede ser consumido luego por otros jobs. &lt;/li&gt;
&lt;li&gt;Publicar nuestro juego: vamos a copiar la build que esta guardada como artifact, a un servidor FTP&lt;/li&gt;
&lt;li&gt;Notificación: enviaremos un mensaje por Discord con un link que apunte a la versión publicada &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zl5FBGNj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rbp85i8yvrfay3hxjavj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zl5FBGNj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rbp85i8yvrfay3hxjavj.png" alt="Diagrama de flujo de nuestro workflow tal y como se ve en la UI de GitHub" width="800" height="190"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Manos a la obra
&lt;/h2&gt;

&lt;p&gt;La documentacion oficial de la action que utilizaremos &lt;a href="https://game.ci/docs/github/builder"&gt;esta disponible online&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;De hecho, &lt;strong&gt;un requerimiento a la hora de ejecutar una de estas actions es primero obtener una licencia de Unity que sea valida para nuestro ambiente&lt;/strong&gt;. Recordemos que la nube no es mas que la computadora de alguien mas, así que tendremos que registrar la instancia de Unity que va a estar corriendo en el contenedor del job de GitHub con una licencia valida. Para eso, se pueden seguir los &lt;a href="https://game.ci/docs/github/activation"&gt;siguientes pasos de la guía oficial&lt;/a&gt;. Una vez hecho esto &lt;em&gt;-se necesita una única vez por repositorio-&lt;/em&gt; podrás seguir leyendo sin problemas :)&lt;/p&gt;

&lt;p&gt;Como dijimos antes, un workflow consta de diversos jobs. Entonces, en un principio vamos a comenzar definiendo un archivo &lt;code&gt;build.yml&lt;/code&gt; en la carpeta &lt;code&gt;.github&lt;/code&gt;. Podemos editar directamente desde el navegador, y de esa manera definir lo siguiente:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Build project
on: 
  workflow_dispatch:
jobs:
  buildForWebGL:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;De esta manera, definimos que nuestro workflow se llamara "Build project", pueda ser ejecutado on demand y que contenga un job llamado "buildForWebGL". &lt;/p&gt;

&lt;p&gt;Debajo, detallo el workflow con el job completo:&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;



&lt;p&gt;Los steps, basicamente definen la serie de pasos que van a ejecutarse dentro de nuestro job de forma ordenada. Cuando los ejecutamos se ven de forma mas amigable :) &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ilhLytWt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ehdtm9da5xu97llprdsd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ilhLytWt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ehdtm9da5xu97llprdsd.png" alt="Screenshot que muestra como una sucesion de pasos el detalle del workflow en la UI de GitHub" width="310" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A destacarse entonces en este job es que, el nombre de la variable&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;${{ secrets.UNITY_LICENSE }}&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;en este caso &lt;code&gt;UNITY_LICENSE&lt;/code&gt; debera coincidir con la que creamos a nivel de repositorio en el &lt;a href="https://game.ci/docs/github/activation"&gt;paso de activar Unity&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Si ahora vamos a la pestaña &lt;code&gt;Actions&lt;/code&gt; de nuestro repositorio, podremos encontrar y ejecutar nuestro workflow, siguiendo los pasos que detalla la imagen de abajo. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--meyMf4LW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rxeonvqgjzncl3s8xta7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--meyMf4LW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rxeonvqgjzncl3s8xta7.png" alt="Como encontrar el workflow y ejecutarlo desde la UI de GitHub" width="800" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Una vez ejecutado, podrán ver que como resultado nuestro workflow produjo un artifact que puede ser descargado (es la build en WebGL, lista para copiar al FTP). En los próximos posts, vamos a explorar como automatizar ese paso. &lt;/p&gt;


&lt;h3&gt;
  
  
  Misc
&lt;/h3&gt;

&lt;p&gt;Sonaba en mi cabeza: &lt;br&gt;
&lt;iframe src="https://open.spotify.com/embed/track/1IJcROM3wuO4phCdjlEl5t" width="100%" height="80px"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;La imagen de cabecera es de &lt;a href="https://icons8.com/illustrations/author/5e7e24ce01d0360013bb7479"&gt;Natasha Remarchuk&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>productivity</category>
      <category>spanish</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Estilo de código para principiantes</title>
      <dc:creator>Marlow Haspert</dc:creator>
      <pubDate>Thu, 23 Apr 2020 00:58:31 +0000</pubDate>
      <link>https://dev.to/kawzar/estilo-de-codigo-para-principiantes-43lj</link>
      <guid>https://dev.to/kawzar/estilo-de-codigo-para-principiantes-43lj</guid>
      <description>&lt;p&gt;Las buenas prácticas y el estilo de código, son dos cosas con las que nos empezamos a chocar muy temprano en el camino de programar. Seas autodidacta, estudiante, hobbysta o vivas de escribir software, alguna vez seguro te encontraste con el hecho de seguir una "buena práctica" o una "guía de estilo". &lt;/p&gt;

&lt;p&gt;Me acuerdo que cuando cursaba en la universidad, que es donde me encontré por primera vez con la programación, muchas veces nos marcaban reglas a la hora de escribir código, pero muchas veces las seguía sin cuestionarme mucho su sentido. Recién después de empezar a trabajar como desarrolladora, entendí que esas reglas eran estándares en el mundo profesional. También me pareció que funcionaba de manera similar a cuando esperamos que la planchita nueva que compramos por internet, traiga el mismo enchufe que el que tenemos en casa.&lt;/p&gt;

&lt;p&gt;Por eso mi idea con este post, es contarle a aquellas personas que recién están aprendiendo a programar y todavía no entienden muy bien el "por qué" de esas prácticas un poco de su impacto en la vida diaria profesional. Una de las "buenas prácticas" que veremos más a menudo es la de escribir "código prolijo" más allá del estándar o metodología con la que esto se asegure. Uno de los aspectos de la prolijidad, es el estilo. &lt;/p&gt;

&lt;p&gt;El estilo de código es literalmente cómo se ve el código que escribimos. Eso depende de cómo hayamos aprendido a programar, cómo lo hagamos habitualmente y de algunos gustos particulares. Es decir, que cómo se ve nuestro código es, en definitiva, una característica muy personal.&lt;/p&gt;

&lt;p&gt;Sin embargo, si nos vamos a dedicar a la programación, tenemos que tener muy en cuenta que el código, aunque en nuestro imaginario parezca que no, está hecho por y para humanos. Entendemos que programar consta de un proceso que tiene varias capas: la de más arriba es nuestro código, y la de más abajo lo que entiende la computadora. Las capas del medio como la compilación, llevan la información en ambos sentidos, pero sobre todo hacen de soporte para que la capa de más arriba exista. Porque la necesitamos. Como humanos, necesitamos que los programas que escribimos lo estén de una forma en la que nos sea posible leerlos, pensarlos y escribirlos con más facilidad. &lt;/p&gt;

&lt;p&gt;Los lenguajes de programación nacen siempre como respuesta a esa necesidad (y que no estemos escribiendo ceros y unos en un teclado como locos es una de sus consecuencias), pero al mismo tiempo no son el límite del alcance de la legibilidad. Así como mediante las reglas de gramática entendemos el lenguaje español, pero a la vez lo adaptamos a nuestras necesidades comunicativas (con regionalismos, "ahre" y otros), en el modo de usar lenguajes de programación pasa algo similar.&lt;/p&gt;

&lt;p&gt;La programación suele ser una actividad muy social (aunque muchas veces parezca lo contrario) en donde el código que nos dedicamos a producir, tiene que ser leído por otros humanos (por ejemplo, nuestros compañeros de equipo en un juego grande), o incluso por una versión futura de nosotros mismos. De la misma manera que después de volver de las vacaciones de invierno no nos acordábamos en qué tema habíamos quedado la última clase de matemática, nos cuesta tiempo valioso acordarnos de la lógica que estábamos pensando cuando escribimos ese pedazo de código hace tres meses y que ahora tenemos que revisar porque el cliente encontró un error. También es muy común la práctica de revisar el código de tus compañeros antes de “guardarlo” definitivamente para que lo entiendan y traten de detectar errores. &lt;/p&gt;

&lt;p&gt;Para facilitar esta forma de comunicación, es decir, de escribir un código más legible, cada equipo de trabajo especifica una serie de reglas de estilo de código que deben cumplirse. Algunas de ellas son específicas de un lenguaje en particular, y otras son adoptadas como estándares internos. Es como cuando en una oficina todos se ponen de acuerdo de dejar los cubiertos con el mango para arriba en el escurridor, así cuando una persona va a agarrar un cuchillo sin prestar toda la atención del mundo, no se corta. &lt;/p&gt;

&lt;p&gt;Por eso creo que es importante que a la hora de familiarizarse con ciertas herramientas de trabajo que se utilizan en la vida laboral, el aprender a unificar estilos de código y seguir guías es algo a lo que se le debe prestar atención. Pero que, lejos de casarse con un estilo de código en particular, nos permita ser capaces de encontrar herramientas que funciona bien para nuestro escenario y nos permiten comunicarnos de la mejor forma posible. Al principio, cuando recién nos adentramos al mundo de la programación puede parecernos abrumador o innecesario, pero ir internalizando el uso de estilos de código sin duda nos va a ser muy útil durante nuestra carrera. &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
