<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>comentarios | ahierro.es</title>
	<atom:link href="https://blog.ahierro.es/tag/comentarios/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.ahierro.es</link>
	<description>Un blog personal  donde compartir experiencias e inquietudes relacionadas con internet, tecnología y otros asuntos interesantes</description>
	<lastBuildDate>Mon, 17 Jun 2019 21:41:26 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>

<image>
	<url>https://blog.ahierro.es/wp-content/uploads/2018/10/cropped-logo_small-1-2-32x32.png</url>
	<title>comentarios | ahierro.es</title>
	<link>https://blog.ahierro.es</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Nombres y comentarios en la programación</title>
		<link>https://blog.ahierro.es/nombres-y-comentarios-en-la-programacion/</link>
					<comments>https://blog.ahierro.es/nombres-y-comentarios-en-la-programacion/#respond</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Fri, 01 Mar 2019 06:22:11 +0000</pubDate>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[comentarios]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[teoría]]></category>
		<guid isPermaLink="false">https://blog.ahierro.es/?p=547</guid>

					<description><![CDATA[<p>Formación, práctica y constancia son tres de los pilares básicos en los que se sustenta la evolución de cada desarrollador. En ocasiones debemos aprender conceptos complejos de asimilar o de aplicar como parte de este proceso. Sin embargo, en otras ocasiones, son sutiles detalles los que nos hacen mejorar. La elección de los nombres de &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/nombres-y-comentarios-en-la-programacion/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Nombres y comentarios en la programación"</span></a></p>
La entrada <a href="https://blog.ahierro.es/nombres-y-comentarios-en-la-programacion/">Nombres y comentarios en la programación</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>Formación, práctica y constancia son tres de los pilares básicos en los que se sustenta la evolución de cada desarrollador. En ocasiones debemos aprender conceptos complejos de asimilar o de aplicar como parte de este proceso. Sin embargo, en otras ocasiones, son sutiles detalles los que nos hacen mejorar.</p>



<p>La elección de los nombres de los distintos elementos que intervienen en la programación es una de esas tareas que si bien no es técnicamente compleja, puede suponer un antes y un después en cuanto a la calidad del código que generamos.</p>



<figure class="wp-block-image"><img fetchpriority="high" decoding="async" width="650" height="438" src="https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_por_nombres.png" alt="Comentarios y nombres de elementos" class="wp-image-608" srcset="https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_por_nombres.png 650w, https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_por_nombres-300x202.png 300w" sizes="(max-width: 650px) 100vw, 650px" /></figure>



<span id="more-547"></span>



<p>En esta entrada veremos cómo la elección de nombres adecuados puede contribuir a reducir el número de comentarios necesarios en el código fuente, y por lo tanto a mejorar su limpieza, comprensión y mantenimiento.</p>



<p>Este artículo es el cuarto de una serie de entradas dedicados a los comentarios y cuyo índice podemos encontrar en la entrada <a href="https://blog.ahierro.es/comentarios-en-programacion-introduccion/">Introducción a los comentarios en programación</a>. Así que si estás interesado en mejorar no solo tus comentarios, si no tu programación en general, te recomiendo que leas los tres anteriores: <a href="https://blog.ahierro.es/comentarios-en-programacion-introduccion/">Introducción a los comentarios en programación</a>, <a href="https://blog.ahierro.es/comentarios-a-evitar-al-programar/">Comentarios a evitar al programar</a>, y <a href="https://blog.ahierro.es/mantenimiento-de-comentarios-en-la-programacion/">Mantenimiento de comentarios en la programación</a>.</p>



<h3 class="wp-block-heading">Nombres descriptivos</h3>



<p>Es&nbsp; bastante común ver funciones o métodos precedidos de un comentario que explica cual es su cometido. Esta situación por si misma no es mala siempre que ayude a entender el código a otros desarrolladores. Sin embargo, en muchas ocasiones la elección de un nombre adecuado puede ser suficientemente descriptiva como para evitar el comentario.</p>





<p>Veamos un ejemplo inspirado en una aplicación TPV (Terminal Punto de Venta):</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: java; title: ; notranslate">
// Devuelve el precio de un producto valorando descuentos y
// rebajas para un cliente autentificado
private bool getPrice(int itemId, int userId) {
{
   ...
}
</pre></div>


<p>Como vemos el nombre del método es descriptivo hasta cierto punto, motivo por el que el comentario ayuda a complementarlo. Pero esto mismo podríamos hacerlo utilizando un nombre más adecuado:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: java; title: ; notranslate">
private bool getAuthentificatedCustomerFinalPrice(int itemId, int userId) {
{
   ...
}
</pre></div>


<p>En este segundo ejemplo al leer el nombre del método sabemos exactamente que esperar de él, así que no es necesario el comentario.</p>



<p>Hemos podido utilizar esta técnica sin ningún problema porque cumplimos la regla que establece que cada función debe hacer una única cosa. Si no la cumplimos e intentamos escoger un nombre descriptivo nos encontraremos con nombres excesivamente largos. Veamos un ejemplo siguiendo el hilo anterior pero en esta ocasión el método realizará dos tareas:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: java; title: ; notranslate">
private bool identifyIfCustomerIsLoggedAngGetFinalPrice(int itemId, int userId) {
{
   ...
}
</pre></div>


<p>Cuantas más cosas haga el método, más largo y difícil de elegir será el nombre y esto se traducirá en un código poco legible y difícil de trabajar, volviendo a ser necesarios los comentarios.</p>



<p>Y por supuesto que esta técnica es totalmente aplicable a variables y constantes, escogiendo nombre adecuados eliminaremos la necesidad de explicar el objetivo de las mismas con comentarios. No es lo mismo usar nombres poco descriptivos y acompañarlos de un comentario en la declaración:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: java; title: ; notranslate">
// Coste de reposición de artículo
private float cost;
</pre></div>


<p>Que utilizar nombre descriptivos, prescindir de los comentarios y saber que contiene exactamente la variable en cualquier punto del programa:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: java; title: ; notranslate">
private float supplierPriceOfList;
</pre></div>


<h3 class="wp-block-heading">Sustituir un pedazo código por una función</h3>



<p>En ocasiones explicamos pedazos de código porque queremos transmitir nuestra intención, porque ayuda a la comprensión de un algoritmo con cierta complejidad, porque nos parece que es engorroso de leer y un comentario lo facilitaría, etc. Pongamos un ejemplo muy sencillo, de nuevo sobre un programa TPV:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: java; title: ; notranslate">
// Comprobamos si hemos introducido un descuento manual 
if(
   (item.price  &gt; item.proposedPrice)  &amp;&amp;
   (discount.reason is null) &amp;&amp;
   (item.price != item.proposedPrice * customer.discount)
)
{ 
   ... 
}
</pre></div>


<p>El programador que ha escrito este código (yo) ha querido dejar claro que las tres condiciones que ha escrito tenían como intención averiguar si se había introducido un descuento manual.</p>



<p>Pero quizás sea mucho más claro leer el código de esta manera:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: java; title: ; notranslate">
if(manualDiscountIsApplyed())  
{
   ...  
}
</pre></div>


<p>Y para ello solo tenemos que encapsular ese bloque lógico en otro método con un nombre adecuado:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
private bool manualDiscountIsApplyed()  
{  
   bool discountIsApplied = false;  
   if(  
      (item.price &gt; item.proposedPrice) &amp;&amp;
      (discount.reason is null) &amp;&amp;
      (item.price != item.proposedPrice * customer.discount)  
   )  
   {  
      discountIsApplied = true;  
   }  
   return discountIsApplied;  
}  
</pre></div>


<p>Aunque si lo pensamos un instante lo único que hemos hecho ha sido un uso correcto de la programación orientada a objetos, el resto ha sido de nuevo la elección de un buen nombre.</p>



<h3 class="wp-block-heading">Conclusión</h3>



<p>En el desarrollo de software, como en prácticamente todo, cuanto más simple y breve sea la solución, mejor. Lejos de de extender y adornar el código debemos procurar sintetizar y aclarar todo lo posible de forma que sea sencillo de comprender por si mismo, y para ello una elección correcta de nombres es fundamental.</p>



<p>Y como es habitual, sería muy interesante conocer tu punto de vista, ¿qué otra técnica utilizas tú para mejorar la legibilidad del código y evitar comentarios innecesarios? Comparte tu experiencia en un comentario.</p>La entrada <a href="https://blog.ahierro.es/nombres-y-comentarios-en-la-programacion/">Nombres y comentarios en la programación</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/nombres-y-comentarios-en-la-programacion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mantenimiento de comentarios en la programación</title>
		<link>https://blog.ahierro.es/mantenimiento-de-comentarios-en-la-programacion/</link>
					<comments>https://blog.ahierro.es/mantenimiento-de-comentarios-en-la-programacion/#respond</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Mon, 25 Feb 2019 07:30:33 +0000</pubDate>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[comentarios]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[teoría]]></category>
		<guid isPermaLink="false">https://blog.ahierro.es/?p=545</guid>

					<description><![CDATA[<p>Uno de los aspectos más delicados con respecto a los comentarios es la limpieza. Al contrario de lo que sucede con el propio código fuente, los comentarios no son procesados por el compilador, lo que quiere decir que éste no nos avisará si hay algo incorrecto o poco fiel con respecto a la realidad. En &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/mantenimiento-de-comentarios-en-la-programacion/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Mantenimiento de comentarios en la programación"</span></a></p>
La entrada <a href="https://blog.ahierro.es/mantenimiento-de-comentarios-en-la-programacion/">Mantenimiento de comentarios en la programación</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>Uno de los aspectos más delicados con respecto a los comentarios es la limpieza. Al contrario de lo que sucede con el propio código fuente, los comentarios no son procesados por el compilador, lo que quiere decir que éste no nos avisará si hay algo incorrecto o poco fiel con respecto a la realidad.</p>
<p><img decoding="async" class="alignnone size-full wp-image-606" src="https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_mantenimiento.png" alt="Comentarios en programación, mantenimiento" width="650" height="438" srcset="https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_mantenimiento.png 650w, https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_mantenimiento-300x202.png 300w" sizes="(max-width: 650px) 100vw, 650px" /></p>
<p><span id="more-545"></span></p>
<p>En multitud ocasiones he visto y he escrito comentarios que ensucian el código y que en el mejor de los casos solo son una molestia visual. En cambio, otras ocasiones, me he tropezado con comentarios que pueden llegar a confundir al programador, sembrar la duda en él o hacer que gaste más tiempo del necesario intentando comprender la discrepancia entre el comentario y el código.</p>
<p>Esto ocurre principalmente porque al igual que sucede con el resto del código fuente, los comentarios requieren de un mantenimiento. Y para conseguirlo es necesario que el desarrollador sea mucho más estricto que con el resto del código: si el compilador no alerta tendremos que ser nosotros quien garanticemos que son correctos. Y el problema radica en que incluso si los comentarios son un verdadero desastre, si el código es correcto el programa funcionará, y muchas veces eso nos basta.</p>
<p>[the_ad id=»1018&#8243;]</p>
<p>Así que en esta entrada trataremos algunos aspectos que hemos de tener en cuenta a la hora de mantener nuestros comentarios. Este artículo pertenece a una serie cuyo índice podemos encontrar en la entrada <a href="https://blog.ahierro.es/comentarios-en-programacion-introduccion/">Introducción a los comentarios en programación</a>.</p>
<h3>Comentarios a evitar</h3>
<p>Hace una semana publicamos una entrada titulada <a href="https://blog.ahierro.es/comentarios-a-evitar-al-programar/">Comentarios a evitar al programar</a>.  En ella hablábamos de los comentarios que no deberíamos hacer que perduren en el código, y podemos decir que éste es el primer paso que debemos de tomar a la hora de mantener los comentarios. Haciendo un breve resumen hablamos de:</p>
<ol>
<li>Código fuente comentado</li>
<li>Identificación de modificaciones</li>
<li>Código para debugar</li>
<li>ToDos y notas de tareas pendientes</li>
</ol>
<p>Si todavía no has leído este artículo te recomiendo que lo hagas antes de continuar con el siguiente punto.</p>
<h3>Copy &amp; Paste</h3>
<p>¿Cuantas veces has copiado y pegado un fragmento de código en el que existen comentarios? Pongamos el ejemplo de un método cualquiera, queremos crear otro bastante similar  y optamos por copiar y pegar en lugar de escribir desde cero. Acto seguido modificamos el nuevo método, pero, ¿cuantas veces hemos dejado un comentario sin modificar haciendo referencia al funcionamiento del método original?</p>
<p>Como primer planteamiento me preguntaría si el comentario es realmente necesario, pues si no le has dado la importancia adecuada quizás es simplemente porque no la necesita y puede ser eliminado. Pero en caso de que deba ser mantenido no olvides actualizarlo si es necesario. De lo contrario estarás mintiendo al programador que lo lea.</p>
<h3>Modificaciones en el código</h3>
<p>Lo más habitual cuando modificamos unos fuentes es que estemos alterando de una u otra manera su funcionamiento. Si existe un comentario realizado sobre el bloque de código que estamos modificando, deberemos de verificar que tras la modificación el comentario sigue siendo tan necesario y válido como era antes de cambiar una sola línea. De lo contrario volveríamos a tener un comentario erróneo.</p>
<p>Imaginemos que tenemos un método userIsAuthenticated() que devuelve la ID de un usuario en caso de que esté autentificado y 0 en caso de que no lo esté.  Imaginemos que modificamos ese método para que devuelva true si está autentificado y false si no lo está, y a su vez creamos otro método getUserId() que devuelve la ID de un usuario autentificado. En caso de que existiera algún comentario en el método original o en alguna llamada al método también debemos de modificarlo para que refleje el nuevo comportamiento.</p>
<h3>El precio de no mantener los comentarios</h3>
<p>Imaginemos qué estamos revisando un código escrito por otro desarrollador, y a medida que avanzamos notamos que los comentarios son superfluos y en muchos casos imprecisos e incoherentes con respecto al código, ¿qué ocurriría? Probablemente o los ignoraríamos por completo o seguiríamos leyéndolos a regañadientes.</p>
<p>Pero ¿que ocurriría si en lugar de ignorarlos tomamos por bueno la información de los comentarios en lugar de la realidad del código? La respuesta dependerá de cada situación, y en cada una de ellas intervendrán muchos factores, así que dejo esta respuesta a tu criterio, pero personalmente ninguna situación de las que soy capaz de imaginar es positiva.</p>
<h3>Refactorizar comentarios</h3>
<p>Hace no mucho escribíamos también sobre el código oloroso en la entrada ¿<a href="https://blog.ahierro.es/a-que-huele-el-codigo-fuente/">A qué huele el código fuente?</a> y sobre refactorización en la entrada <a href="https://blog.ahierro.es/refactorizacion-de-codigo/">Refactorización de código</a>.</p>
<p>La refactorización de los comentarios, que hoy estamos llamando mantenimiento, es tan importante como la del propio código. No basta solo con seguir los manuales de buenas prácticas al escribir nuevo código, debemos limpiar y corregir los comentarios irrelevantes, incomprensibles, imprecisos, incoherentes o erróneos que nos encontremos como parte de nuestra labor.</p>
<p>Si decidimos no refactorizar la primera consecuencia será que asumiremos que tanto nosotros como el resto del equipo que trabaje con ese código vamos a tener que convivir con comentarios erróneos. Y la segunda consecuencia que se dará con bastante probabilidad, es que el equipo se contagiará de la dejadez del código y comenzará a emplear malas prácticas, lo que suele acabar en un problema que crece con el paso del tiempo.</p>
<h3>Conclusión</h3>
<p>Debemos tratar los comentarios con la misma delicadeza que tratamos el resto del código, pues un código bien comentado facilita el mantenimiento del software y contribuye a evitar la deuda tecnológica.</p>
<p>¿Y tu qué opinas?, ¿crees que existen más situaciones relacionadas con los comentarios que debamos tener en cuenta en el mantenimiento?, ¿tienes algún consejo o recomendación? Sabes que nos gusta leer tu opinión, compártela en los comentarios.</p>La entrada <a href="https://blog.ahierro.es/mantenimiento-de-comentarios-en-la-programacion/">Mantenimiento de comentarios en la programación</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/mantenimiento-de-comentarios-en-la-programacion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comentarios a evitar al programar</title>
		<link>https://blog.ahierro.es/comentarios-a-evitar-al-programar/</link>
					<comments>https://blog.ahierro.es/comentarios-a-evitar-al-programar/#respond</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Mon, 18 Feb 2019 07:36:27 +0000</pubDate>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[comentarios]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[teoría]]></category>
		<guid isPermaLink="false">https://blog.ahierro.es/?p=596</guid>

					<description><![CDATA[<p>En muchas ocasiones utilizamos los comentarios casi para cualquier cosa, y siendo honestos, es que se prestan a ello y además podemos sacarle mucho partido. El problema es cuando permitimos que los usos alternativos perduren en el tiempo, pues lo único que conseguimos con ello es ensuciar el código. Por supuesto que podemos utilizarlos para &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/comentarios-a-evitar-al-programar/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Comentarios a evitar al programar"</span></a></p>
La entrada <a href="https://blog.ahierro.es/comentarios-a-evitar-al-programar/">Comentarios a evitar al programar</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>En muchas ocasiones utilizamos los comentarios casi para cualquier cosa, y siendo honestos, es que se prestan a ello y además podemos sacarle mucho partido. El problema es cuando permitimos que los usos alternativos perduren en el tiempo, pues lo único que conseguimos con ello es ensuciar el código.</p>



<figure class="wp-block-image"><img decoding="async" width="650" height="438" src="https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_a_evitar.png" alt="Comentarios a evitar en la programación" class="wp-image-610" srcset="https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_a_evitar.png 650w, https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_a_evitar-300x202.png 300w" sizes="(max-width: 650px) 100vw, 650px" /></figure>



<span id="more-596"></span>



<p>Por supuesto que podemos utilizarlos para ayudarnos a debugar,&nbsp; para ponernos notas, recordatorios o ToDos en en código y mil usos más. Pero los comentarios tienen un único objetivo que es aclarar la intención de un determinado bloque de código, y deberemos ceñirnos a este objetivo para garantizar la limpieza y la mantenibilidad de nuestros fuentes. Todo uso que se aleje de este objetivo (o de la documentación del código) no debe perdurar en el tiempo.</p>





<p>Así que a continuación veremos algunos usos inadecuados de los comentarios que están muy extendidos y que deberíamos evitar.</p>



<p>Este artículo forma parte de una serie que trata de una forma más amplia el uso de los comentarios en la programación, y en la que el artículo <a href="https://blog.ahierro.es/comentarios-en-programacion-introduccion/">Introducción a los comentarios en la programación</a> utilizaremos como índice.</p>



<h3 class="wp-block-heading">Código comentado</h3>



<p>Cuando estamos trabajando en un proyecto es bastante habitual encontrarnos con código fuente comentado. Suele ocurrir que comentemos&nbsp; un pedazo de código por un motivo temporal y no realicemos una limpieza posterior, con lo que queda ahí para la posteridad. Otro motivo bastante habitual es que realicemos un cambio en el código, no dispongamos de un software de control de versiones y no queramos perder el código original.</p>



<p>Sea cual sea el motivo, ¿qué debe interpretar un desarrollador cuando se encuentra un código comentado? ¿Lo ignora? ¿Lo compara o lo interpreta e intenta relacionarlo con el código no comentado? ¿Qué se supone que debe hacer?</p>



<p>Debemos ser limpios y no dejarnos fragmentos de códigos comentados en nuestros fuentes, y si no disponemos de un software de control de versiones deberíamos darle la máxima prioridad a incluir uno en nuestro proyecto. Puedes ver las entradas <a href="https://blog.ahierro.es/instalar-y-configurar-git-en-una-raspberry-pi-con-ubuntu-mate/">Instalar y configurar Git en una Raspberry Pi con Ubuntu Mate</a> o <a href="https://blog.ahierro.es/crear-un-repositorio-remoto-en-desde-con-archivos-locales/">Crear un repositorio remoto en Git desde archivos locales</a>.</p>



<h3 class="wp-block-heading">Identificación de modificaciones</h3>



<p>Un uso menos extendido pero con el que he tropezado en alguna ocasión es una versión «sofisticada» del punto anterior. Realizamos una modificación, comentamos el código original e incluimos ciertos datos como el nombre del desarrollador, la fecha en la que se realizó el cambio y el motivo por el que se hizo.</p>



<p>Veamos el siguiente ejemplos:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
// J.J. 15/10/2017  
// Bug: no permitía nombres de 8 caracteres  
// if($userName &gt; 8) {  
if($userName &gt;= 8) {  
   ...  
}
</pre></div>


<p>La molestia visual es evidente, además que que nos llevará más tiempo leer y comprender 4 líneas que una:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
if($userName &gt;= 8) { 
   ... 
}
</pre></div>


<p>Siempre existen circunstancias alrededor de un proyecto, pero de nuevo, si éste no tiene software de control de versiones todos nuestros esfuerzos deberían centrarse en conseguirlo.</p>



<h3 class="wp-block-heading">Código para debugar</h3>



<p>Esto ocurre en mayor medida, aunque no exclusivamente, en proyectos de desarrollo web. Para ayudarnos a debugar nuestro software incluimos líneas extra de códigos que realizan una tarea determinada. Una vez completado el debug las comentamos y permanecen como partes del código fuente eternamente. Esto no hace más que ensuciar el código, la persona que vuelva a tocar esos fuentes probablemente no necesitará debugar en ese punto, o lo hará de otra forma, así que seamos limpios y borremos este tipo de comentarios.</p>



<p>Además, otro hecho que ocurre, es que si continuamente encontramos comentarios que no añaden valor, acabaremos por ignorarlos todos, ¿por qué tenemos que tropezarnos con comentarios de este tipo en el código?</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
/*  
echo &#039;&lt;pre&gt;&#039;;  
printr($var);
echo &#039;&lt;/pre&gt;&#039;;  
die();  
*/  

</pre></div>


<p>Pero sobre todo, asegúrate de disponer de herramientas para debug. Cuando programamos en Java, C++, Basic, C#, etc. no concebimos desarrollar sin herramientas de debug adecuadas, que por lo general vienen incluidas en las IDEs.&nbsp; Así que si eres desarrollador web, asegúrate también de disponer de éstas herramientas. En este mismo blog tenemos una entrada sobre cómo <a href="https://blog.ahierro.es/debugar-php-netbeans-xcode/">Debugar PHP con Netbeans y XCode</a>. Para debugar Javascript también tienes múltiples opciones con herramientas como Chrome DevTools o la consola de Mozilla Firefox.</p>



<h3 class="wp-block-heading">ToDos y notas de trabajo</h3>



<p>En ocasiones nos ponemos notas al programar, yo por ejemplo en ciertas situaciones&nbsp; incluyo alguna línea del tipo:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
// todo: añadir validación de longitud máxima al nombre  
if($userName &gt;= 8) {  
...
}
</pre></div>


<p>Existen IDEs que traen soluciones para este tipo de notas, también existen programas que pueden ayudarnos a gestionar estas notas de forma muy efectiva. De cualquier forma, si te gusta trabajar con este tipo de comentarios asegúrate de borrarlo una vez que hayas finalizado la tarea, y si no la vas a terminar, el código fuente no es el lugar dónde indicar las tareas pendientes de completar, así que mejor busca una alternativa.</p>



<h3 class="wp-block-heading">Concluisión</h3>



<p>A pesar de que los comentarios lo aguantan todo, debemos de ser estrictos y hacer un buen uso de ellos, o de lo contrario nunca tendremos un código limpio. Como hemos podido ver, con un software de control de versiones y&nbsp; alguna herramienta para gestionar tareas pendientes podemos reducir drásticamente el número de comentarios inadecuados.</p>



<p>Seguro que tú también te has encontrado con muchos tipos de comentarios inadecuados, ¿de qué tipo eran? ¿qué herramientas utilizas para evitar estos comentarios?&nbsp; Como siempre me gustaría conocer tu experiencia.</p>La entrada <a href="https://blog.ahierro.es/comentarios-a-evitar-al-programar/">Comentarios a evitar al programar</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/comentarios-a-evitar-al-programar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Introducción a los comentarios en programación</title>
		<link>https://blog.ahierro.es/comentarios-en-programacion-introduccion/</link>
					<comments>https://blog.ahierro.es/comentarios-en-programacion-introduccion/#comments</comments>
		
		<dc:creator><![CDATA[Andres]]></dc:creator>
		<pubDate>Mon, 18 Feb 2019 07:30:49 +0000</pubDate>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[comentarios]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[teoría]]></category>
		<guid isPermaLink="false">https://blog.ahierro.es/?p=539</guid>

					<description><![CDATA[<p>Son muchos los detalles a los que debemos prestar atención mientras desarrollamos, tantos que en ocasiones relegamos un segundo plano a algunos como pueden ser los comentarios, el estilo del código u otros. A pesar de que en un primer instante pueda parecer un asunto un tanto superficial, los comentarios en la programación son un &#8230; </p>
<p class="link-more"><a href="https://blog.ahierro.es/comentarios-en-programacion-introduccion/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Introducción a los comentarios en programación"</span></a></p>
La entrada <a href="https://blog.ahierro.es/comentarios-en-programacion-introduccion/">Introducción a los comentarios en programación</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></description>
										<content:encoded><![CDATA[<p>Son muchos los detalles a los que debemos prestar atención mientras desarrollamos, tantos que en ocasiones relegamos un segundo plano a algunos como pueden ser los comentarios, el estilo del código u otros.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-601" src="https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_en_programacion.png" alt="Comentarios en Programación" width="650" height="365" srcset="https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_en_programacion.png 650w, https://blog.ahierro.es/wp-content/uploads/2019/02/comentarios_en_programacion-300x168.png 300w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<p><span id="more-539"></span></p>
<p>A pesar de que en un primer instante pueda parecer un asunto un tanto superficial, los comentarios en la programación son un tema muy interesante, no por su complejidad, sino porque un correcto uso de ellos puede marcar la diferencia en cuanto a limpieza, facilidad de comprensión del código y su mantenimiento.</p>
<h3>Objetivo de los comentarios</h3>
<p>Los comentarios, cuando hablamos de programación, son bloques de texto escritos en lenguaje natural que están incluidos dentro del código fuente, que el compilador ignora y que por norma general están destinados a que sea el programador el que los interprete.</p>
<p>El objetivo principal de un comentario es dejar constancia en el código fuente de la intención de un determinado bloque de código. Esto es especialmente útil cuando más de un programador tiene acceso al mismo código o para recordar en el futuro por qué tomamos determinada estrategia para el código al que hacemos referencia.</p>
<p>[the_ad id=»1018&#8243;]</p>
<p>Existe también un segundo objetivo muy extendido y de gran utilidad que es para documentar el código. Siguiendo algunas reglas que varían en función de la herramienta, ciertos comentarios pueden ser interpretados por aplicaciones que generan documentación de manera automática. Algunos ejemplos de estas aplicaciones son Javadoc en Java o Doxygen en PHP.</p>
<h3>Características de los comentarios</h3>
<p>Así que dejando al margen del tema de la documentación, para que un comentario aporte todo el valor que se le presupone debe cumplir algunas características.</p>
<ol>
<li><strong>Complementar al código</strong>. Un buen comentario debe transmitir la intención del programador, el concepto, el motivo, la estrategia, pero nunca traducir a lenguaje natural ni explicar el código que hemos escrito, eso ya lo sabe hacer la persona que lee el código.</li>
<li><strong>Ser claro y comprensible</strong>. Escribimos los comentarios para que otros, o nosotros mismos en el futuro, los lean, así que asegurémonos de que cuando lo hagan comprendan perfectamente el mensaje que les estamos transmitiendo. ¿Cuántas veces escribiste una nota que al leerla pasado cierto tiempo no eres capaz de entenderla?</li>
<li><strong>Ser conciso</strong>. No hace falta extendernos o explicar hasta el último detalle, cuanto más concisos seamos más fácil será comprenderlo e invertiremos menos tiempo en ello.</li>
</ol>
<h3>Profundizando en los comentarios</h3>
<p>Realmente esta entrada no era más que una excusa para introducir y dar paso a otros artículos relacionados con los comentarios.</p>
<p>Estos artículos guardarán también cierta relación con una entrada que escribimos hace tan solo unas semanas atrás: <a href="https://blog.ahierro.es/a-que-huele-el-codigo-fuente/">¿A qué huele el código fuente?</a>, tratando el código oloroso y en la que hacíamos referencia a los comentarios como una posible fuente de olores.</p>
<p>Así que a continuación tenéis todas esas entradas que durante las próximas semanas iremos publicando:</p>
<ol>
<li><a href="https://blog.ahierro.es/comentarios-a-evitar-al-programar/">Comentarios a evitar</a></li>
<li><a href="https://blog.ahierro.es/mantenimiento-de-comentarios-en-la-programacion/">Mantenimiento de comentarios</a></li>
<li><a href="https://blog.ahierro.es/nombres-y-comentarios-en-la-programacion/">Comentarios y nombres de elementos</a></li>
</ol>
<h3>Conclusión</h3>
<p>Los comentarios, lejos de lo que pueda parecer cuando no se tiene la suficiente experiencia, son un tema que a pesar de su simplicidad pueden marcar la diferencia en nuestro código y al que merece la pena dedicarle cierto tiempo.</p>
<p> </p>La entrada <a href="https://blog.ahierro.es/comentarios-en-programacion-introduccion/">Introducción a los comentarios en programación</a> apareció primero en <a href="https://blog.ahierro.es">blog.ahierro.es, programación, internet, tecnología y otras historias</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.ahierro.es/comentarios-en-programacion-introduccion/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
