<?xml version="1.0" encoding="windows-1251"?>
<rss version="0.92">
<channel>
<title>WikiJuanan - TreceConsejosParaComentarTuCódigo</title>
<link>http://wiki.us.es/juanan/wakka.php?wakka=TreceConsejosParaComentarTuCódigo</link>
<description>History/revisions of WikiJuanan/TreceConsejosParaComentarTuCódigo</description>
<language>en-us</language>
<item>
<title>2008-02-05 23:23:26</title>
<link>http://wiki.us.es/juanan/wakka.php?wakka=TreceConsejosParaComentarTuCodigo/show&amp;time=2008-02-05+23%3A23%3A26</link>
<description>&lt;a name="p2618-1">&lt;/a>&lt;p class="auto" id="p2618-1">&lt;a name="programacion" href="http://wiki.us.es/juanan/wakka.php?wakka=Programacion" class="" title="Programación">Programación&lt;/a>&lt;/p>&lt;br />&lt;a name="p2618-2">&lt;/a>&lt;p class="auto" id="p2618-2">
Es&amp;nbsp;copia de: &lt;a href="http://www.variablenotfound.com/2007/12/13-consejos-para-comentar-tu-cdigo.html" target="_blank" title="Vinculo externo
(en nueva ventana)" class="outerlink">&lt;img src="http://wiki.us.es/juanan/themes/default/icons/web.gif" alt="" border="0" />http://www.variablenotfound.com/2007/12/13-consejos-para-comentar-tu-cdigo.html&lt;/a>&lt;/p>&lt;a name="h2618-1">&lt;/a>&lt;h2>13 Consejos para comentar tu&amp;nbsp;código&lt;/h2>
&lt;br />&lt;a name="p2618-3">&lt;/a>&lt;p class="auto" id="p2618-3">
Hace unos días publicaba una&amp;nbsp;entrada donde hablaba de&amp;nbsp;los problemas que&amp;nbsp;generan la&amp;nbsp;inclusión y&amp;nbsp;el mantenimiento de&amp;nbsp;comentarios en&amp;nbsp;el código fuente de&amp;nbsp;nuestras aplicaciones, aunque para no&amp;nbsp;extenderme mucho sólo cité brevemente algunos aspectos a&amp;nbsp;tener en&amp;nbsp;cuenta a&amp;nbsp;la hora de&amp;nbsp;afrontar estos inconvenientes.&lt;/p>&lt;br />&lt;a name="p2618-4">&lt;/a>&lt;p class="auto" id="p2618-4">
Ahora, partiendo de&amp;nbsp;estos consejos, la&amp;nbsp;abundante literatura que&amp;nbsp;hay sobre el&amp;nbsp;tema y&amp;nbsp;mi propia experiencia, he&amp;nbsp;creado los&amp;nbsp;13 consejos para comentar tu&amp;nbsp;código, que&amp;nbsp;contribuirán a&amp;nbsp;hacerlo más&amp;nbsp;inteligible y&amp;nbsp;por tanto a&amp;nbsp;incrementar su&amp;nbsp;mantenibilidad a&amp;nbsp;lo largo del&amp;nbsp;tiempo.&lt;/p>&lt;br />&lt;a name="p2618-5">&lt;/a>&lt;p class="auto" id="p2618-5">
1. Comenta a&amp;nbsp;varios niveles&lt;br />
Comenta los&amp;nbsp;distintos bloques de&amp;nbsp;los que&amp;nbsp;se&amp;nbsp;compone tu&amp;nbsp;código, aplicando un&amp;nbsp;criterio uniforme y&amp;nbsp;distinto para cada nivel. Puedes, por&amp;nbsp;ejemplo, seguir un&amp;nbsp;modelo como:&lt;/p>&lt;br />
&lt;ul>&lt;li>&lt;ul>&lt;li> En&amp;nbsp;cada clase, incluir una&amp;nbsp;breve descripción, su&amp;nbsp;autor y&amp;nbsp;fecha de&amp;nbsp;última modificación
&lt;/li>&lt;li> Por&amp;nbsp;cada método, una&amp;nbsp;descripción de&amp;nbsp;su objeto y&amp;nbsp;funcionalidades, así&amp;nbsp;como de&amp;nbsp;los parámetros y&amp;nbsp;resultados obtenidos&lt;/li>&lt;/ul>&lt;/li>&lt;/ul>
&lt;br />&lt;a name="p2618-6">&lt;/a>&lt;p class="auto" id="p2618-6">
En&amp;nbsp;realidad, lo&amp;nbsp;importante es&amp;nbsp;ceñirse a&amp;nbsp;unas normas (comúnmente aceptadas si&amp;nbsp;se trata de&amp;nbsp;trabajo en&amp;nbsp;equipo) y&amp;nbsp;aplicarlas siempre. Las&amp;nbsp;reglas concretas pueden ser&amp;nbsp;elegidas a&amp;nbsp;la conveniencia de&amp;nbsp;cada cual.&lt;/p>&lt;br />&lt;a name="p2618-7">&lt;/a>&lt;p class="auto" id="p2618-7">
Obviamente, una&amp;nbsp;solución bastante aceptable e&amp;nbsp;incluso aconsejable es&amp;nbsp;utilizar las&amp;nbsp;convenciones y&amp;nbsp;herramientas (como XML&amp;nbsp;en&amp;nbsp;C# ó&amp;nbsp;Javadoc para el&amp;nbsp;mundo Java) que&amp;nbsp;ayudan y&amp;nbsp;facilitan esta tarea.&lt;br />
2. Usa&amp;nbsp;párrafos comentados&lt;br />
Como complemento al&amp;nbsp;punto anterior, es&amp;nbsp;recomendable dividir un&amp;nbsp;bloque de&amp;nbsp;código extenso en&amp;nbsp;&amp;laquo;párrafos&amp;raquo; que&amp;nbsp;realicen una&amp;nbsp;tarea simple, e&amp;nbsp;introducir un&amp;nbsp;comentario al&amp;nbsp;principio de&amp;nbsp;forma que&amp;nbsp;se&amp;nbsp;guíe al&amp;nbsp;lector, precediéndolos, además, de&amp;nbsp;una línea en&amp;nbsp;blanco que&amp;nbsp;ayude a&amp;nbsp;separar cada uno&amp;nbsp;del anterior.&lt;/p>&lt;br />
&lt;div class="indent">...&lt;br />
&lt;/div>
&lt;br />
&lt;div class="indent">// Comprobamos si&amp;nbsp;todos los&amp;nbsp;datos&lt;br />
// son&amp;nbsp;correctos&lt;br />
foreach (Record record in&amp;nbsp;records)&lt;br />
{&lt;div class="indent"> if&amp;nbsp;(rec.checkStatus()==&lt;span class="missingpage">Status.OK&lt;/span>&lt;a href="http://wiki.us.es/juanan/wakka.php?wakka=Status/OK/edit&amp;amp;add=1" title="Crear esta página">?&lt;/a>)&lt;br />
 {&lt;div class="indent">&lt;div class="indent">...&lt;br />
&lt;/div>&lt;/div> }&lt;br />
&lt;/div>}&lt;br />
&lt;/div>
&lt;br />
&lt;div class="indent">// Ahora pasamos a&amp;nbsp;realizar las&lt;br />
// transacciones&lt;br />
Context ctx&amp;nbsp;= new&amp;nbsp;&lt;span class="missingpage">Application&amp;nbsp;Context&lt;/span>&lt;a href="http://wiki.us.es/juanan/wakka.php?wakka=ApplicationContext/edit&amp;amp;add=1" title="Crear esta página">?&lt;/a>();&lt;br />
ctx.BeginTransaction();&lt;br />
...&lt;/div>
&lt;br />&lt;a name="p2618-8">&lt;/a>&lt;p class="auto" id="p2618-8">
3. Tabula por&amp;nbsp;igual los&amp;nbsp;comentarios de&amp;nbsp;líneas consecutivas&lt;br />
Si&amp;nbsp;tenemos un&amp;nbsp;bloque de&amp;nbsp;líneas de&amp;nbsp;código donde existe por&amp;nbsp;cada una&amp;nbsp;de&amp;nbsp;ellas un&amp;nbsp;comentario, es&amp;nbsp;buena costumbre tabularlos todos a&amp;nbsp;la misma posición, de&amp;nbsp;forma que&amp;nbsp;quedarán alineados y&amp;nbsp;serán más&amp;nbsp;sencillos de&amp;nbsp;leer, sobre todo si&amp;nbsp;forman parte de&amp;nbsp;la misma frase.&lt;/p>&lt;br />
&lt;div class="indent">const MAX_ITEMS = 10; // Número máximo de&amp;nbsp;paquetes&lt;br />
const MASK = 0x1F;    // Máscara de&amp;nbsp;bits TCP&lt;/div>
&lt;br />&lt;a name="p2618-9">&lt;/a>&lt;p class="auto" id="p2618-9">
Ojo&amp;nbsp;a&amp;nbsp;las tabulaciones. Hay&amp;nbsp;editores que&amp;nbsp;usan el&amp;nbsp;carácter ASCII (9) y&amp;nbsp;otros, en&amp;nbsp;cambio, lo&amp;nbsp;sustituyen por&amp;nbsp;un&amp;nbsp;número determinado de&amp;nbsp;espacios, que&amp;nbsp;suelen variar según las&amp;nbsp;preferencias personales del&amp;nbsp;desarrollador. Lo&amp;nbsp;mejor es&amp;nbsp;usar espacios simples o&amp;nbsp;asegurarse de&amp;nbsp;que esto es&amp;nbsp;lo que&amp;nbsp;hace el&amp;nbsp;IDE correspondiente.&lt;br />
4. No&amp;nbsp;insultes la&amp;nbsp;inteligencia del&amp;nbsp;lector&lt;br />
Debemos evitar comentarios absurdos como:&lt;/p>&lt;br />
&lt;div class="indent"> if&amp;nbsp;(a == 5)     // Si&amp;nbsp;a vale cinco, ...&lt;div class="indent">&lt;div class="indent">counter = 0; // ... ponemos el&amp;nbsp;contador a&amp;nbsp;cero&lt;br />
&lt;/div>&lt;/div> ...&lt;/div>
&lt;br />&lt;a name="p2618-10">&lt;/a>&lt;p class="auto" id="p2618-10">
Este exceso necesita mucho tiempo a&amp;nbsp;la hora de&amp;nbsp;su creación, lo&amp;nbsp;necesitará para su&amp;nbsp;mantenimiento y, además, la&amp;nbsp;mayoría de&amp;nbsp;las veces distraerá al&amp;nbsp;lector con&amp;nbsp;detalles que&amp;nbsp;no&amp;nbsp;es necesario conocer o&amp;nbsp;que pueden ser&amp;nbsp;deducidos echando un&amp;nbsp;vistazo al&amp;nbsp;código.&lt;br />
5. Sé&amp;nbsp;correcto&lt;br />
Evita comentarios del&amp;nbsp;tipo &amp;laquo;ahora compruebo que&amp;nbsp;el&amp;nbsp;estúpido usuario no&amp;nbsp;haya introducido un&amp;nbsp;número negativo&amp;raquo;, o&amp;nbsp;&amp;laquo;este parche corrije el&amp;nbsp;efecto colateral producido por&amp;nbsp;la&amp;nbsp;patética implementación del&amp;nbsp;inepto desarrollador inicial&amp;raquo;.&lt;/p>&lt;br />&lt;a name="p2618-11">&lt;/a>&lt;p class="auto" id="p2618-11">
El&amp;nbsp;uso de&amp;nbsp;este tipo de&amp;nbsp;comentarios no&amp;nbsp;dice nada a&amp;nbsp;favor de&amp;nbsp;su creador, y, además, nunca se&amp;nbsp;sabe quién los&amp;nbsp;va&amp;nbsp;a leer en&amp;nbsp;el futuro. Emarts, en&amp;nbsp;&amp;laquo;Sapos, culebras y&amp;nbsp;código fuente&amp;raquo; muestra ejemplos de&amp;nbsp;comentarios de&amp;nbsp;este tipo.&lt;/p>&lt;br />&lt;a name="p2618-12">&lt;/a>&lt;p class="auto" id="p2618-12">
Otro tema relacionado y, a&amp;nbsp;mi entender, igualmente importante: cuida la&amp;nbsp;ortografía. El&amp;nbsp;hecho de&amp;nbsp;que los&amp;nbsp;comentarios no&amp;nbsp;se vean desde el&amp;nbsp;exterior no&amp;nbsp;implican que&amp;nbsp;puedas descuidarlos. Una&amp;nbsp;ortografía correcta mejora la&amp;nbsp;calidad de&amp;nbsp;la expresión escrita y, por&amp;nbsp;tanto, de&amp;nbsp;la comunicación, que&amp;nbsp;es&amp;nbsp;de lo&amp;nbsp;que se&amp;nbsp;trata.&lt;br />
6. No&amp;nbsp;pierdas el&amp;nbsp;tiempo&lt;br />
No&amp;nbsp;comentes si&amp;nbsp;no es&amp;nbsp;necesario, no&amp;nbsp;escribas nada más&amp;nbsp;que lo&amp;nbsp;que necesites para transmitir la&amp;nbsp;idea. Nada de&amp;nbsp;diseños realizados a&amp;nbsp;base de&amp;nbsp;caracteres ASCII, ni&amp;nbsp;florituras, ni&amp;nbsp;chistes, ni&amp;nbsp;poesías, ni&amp;nbsp;chascarrillos.&lt;/p>&lt;br />&lt;a name="p2618-13">&lt;/a>&lt;p class="auto" id="p2618-13">
En&amp;nbsp;resumen, mantén los&amp;nbsp;comentarios simples y&amp;nbsp;directos, pues de&amp;nbsp;lo contrario harás perder tiempo a&amp;nbsp;tu sucesor. Para entender el&amp;nbsp;efecto negativo de&amp;nbsp;una verborrea excesiva, no&amp;nbsp;hay como echar un&amp;nbsp;vistazo a&amp;nbsp;Hyperverbosity, publicado en&amp;nbsp;Worse Than Failure hace unos días.&lt;br />
7. Utiliza un&amp;nbsp;estilo consistente&lt;br />
Hay&amp;nbsp;quien opina que&amp;nbsp;los comentarios deberían ser&amp;nbsp;escritos para que&amp;nbsp;los entendieran no&amp;nbsp;programadores. Otros, en&amp;nbsp;cambio, piensan que&amp;nbsp;debe servir de&amp;nbsp;ayuda para desarrolladores exclusivamente.&lt;/p>&lt;br />&lt;a name="p2618-14">&lt;/a>&lt;p class="auto" id="p2618-14">
En&amp;nbsp;cualquier caso, coincidiendo con&amp;nbsp;Ryan Campbell en&amp;nbsp;su post Successful Strategies for&amp;nbsp;Commenting Code, lo&amp;nbsp;que importa es&amp;nbsp;que siempre sea&amp;nbsp;de&amp;nbsp;la misma forma, orientados al&amp;nbsp;mismo destinatario. Personalmente, dudo mucho que&amp;nbsp;alguien de&amp;nbsp;un perfil alejado a&amp;nbsp;la programación vaya a&amp;nbsp;acercarse al&amp;nbsp;código, por&amp;nbsp;lo&amp;nbsp;que, para mi&amp;nbsp;gusto, bastaría con&amp;nbsp;cubrir el&amp;nbsp;segundo caso de&amp;nbsp;los expuestos anteriormente.&lt;br />
8. Para los&amp;nbsp;comentarios internos usa&amp;nbsp;marcas especiales&lt;/p>&lt;br />&lt;a name="p2618-15">&lt;/a>&lt;p class="auto" id="p2618-15">
Y&amp;nbsp;sobre todo, aunque no&amp;nbsp;únicamente, cuando se&amp;nbsp;trabaja en&amp;nbsp;un equipo de&amp;nbsp;programación en&amp;nbsp;el que&amp;nbsp;varias personas pueden estar tocando las&amp;nbsp;mismas porciones de&amp;nbsp;código. El&amp;nbsp;ejemplo típico es&amp;nbsp;el comentario TODO (&lt;span class="nobr">to-do&lt;/span>, por&amp;nbsp;hacer), que&amp;nbsp;describe funciones pendientes de&amp;nbsp;implementar:&lt;/p>&lt;br />
&lt;div class="indent">int calcula(int x, int&amp;nbsp;y)&lt;br />
{&lt;div class="indent">&lt;div class="indent">// TODO: implementar los&amp;nbsp;cálculos&lt;br />
return 0;&lt;br />
&lt;/div>&lt;/div>}&lt;/div>
&lt;br />&lt;a name="p2618-16">&lt;/a>&lt;p class="auto" id="p2618-16">
En&amp;nbsp;este caso los&amp;nbsp;comentarios no&amp;nbsp;se usan para explicar una&amp;nbsp;porción de&amp;nbsp;código, sino para realizar anotaciones sobre el&amp;nbsp;mismo a&amp;nbsp;las que&amp;nbsp;hay que&amp;nbsp;prestar especial atención. Eso&amp;nbsp;sí, si&amp;nbsp;usas esta técnica, recuerda que&amp;nbsp;debes actualizarlos conforme las&amp;nbsp;anotaciones dejen de&amp;nbsp;tener sentido.&lt;br />
9. Comenta mientras programas&lt;br />
Ve&amp;nbsp;introduciendo los&amp;nbsp;comentarios conforme vas&amp;nbsp;codificando. No&amp;nbsp;lo dejes para el&amp;nbsp;final, puesto que&amp;nbsp;entonces te&amp;nbsp;costará más&amp;nbsp;de&amp;nbsp;el doble de&amp;nbsp;tiempo, si&amp;nbsp;es que&amp;nbsp;llegas a&amp;nbsp;hacerlo. Olvida las&amp;nbsp;posturas &amp;#147;no tengo tiempo de&amp;nbsp;comentar, voy&amp;nbsp;muy apurado&amp;#148;, &amp;#147;el proyecto va&amp;nbsp;muy retrasado&amp;#148;... son&amp;nbsp;simplemente excusas. Si&amp;nbsp;tu intención es&amp;nbsp;comentar el&amp;nbsp;código, no&amp;nbsp;te engañes y&amp;nbsp;¡hazlo!&lt;/p>&lt;br />&lt;a name="p2618-17">&lt;/a>&lt;p class="auto" id="p2618-17">
Hay&amp;nbsp;incluso quien opina que&amp;nbsp;los comentarios que&amp;nbsp;describen un&amp;nbsp;bloque deberían escribirse antes de&amp;nbsp;codificarlo, de&amp;nbsp;forma que, en&amp;nbsp;primer lugar, sirvan como referencia para saber qué&amp;nbsp;es&amp;nbsp;lo que&amp;nbsp;hay que&amp;nbsp;hacer y, segundo, que&amp;nbsp;una vez&amp;nbsp;codificado éstos queden como comentarios para la&amp;nbsp;posteridad. Un&amp;nbsp;ejemplo:&lt;/p>&lt;br />
&lt;div class="indent"> public void &lt;span class="missingpage">Procesa&amp;nbsp;Pedido&lt;/span>&lt;a href="http://wiki.us.es/juanan/wakka.php?wakka=ProcesaPedido/edit&amp;amp;add=1" title="Crear esta página">?&lt;/a>()&lt;br />
 {&lt;div class="indent">&lt;div class="indent">// Comprobar que&amp;nbsp;hay material&lt;br />
// Comprobar que&amp;nbsp;el&amp;nbsp;cliente es&amp;nbsp;válido&lt;br />
// Enviar la&amp;nbsp;orden a&amp;nbsp;almacén&lt;br />
// Generar factura&lt;br />
&lt;/div>&lt;/div> }&lt;/div>
&lt;br />&lt;a name="p2618-18">&lt;/a>&lt;p class="auto" id="p2618-18">
La&amp;nbsp;codificación de&amp;nbsp;cada una&amp;nbsp;de&amp;nbsp;las tareas descritas en&amp;nbsp;el lenguaje correspondiente se&amp;nbsp;realizaría justo debajo del&amp;nbsp;comentario, quedando éste como encabezado de&amp;nbsp;párrafo (como se&amp;nbsp;describe en&amp;nbsp;el consejo 2).&lt;br />
10. Comenta como si&amp;nbsp;fuera para tí&amp;nbsp;mismo. De&amp;nbsp;hecho, lo&amp;nbsp;es.&lt;br />
A&amp;nbsp;la hora de&amp;nbsp;comentar no&amp;nbsp;pienses sólo en&amp;nbsp;mantenimiento posterior, ni&amp;nbsp;creas que&amp;nbsp;es&amp;nbsp;un regalo que&amp;nbsp;dejas para la&amp;nbsp;posteridad del&amp;nbsp;que sólo obtendrá beneficios el&amp;nbsp;desarrollador que&amp;nbsp;en&amp;nbsp;el futuro sea&amp;nbsp;designado para corregir o&amp;nbsp;mantener tu&amp;nbsp;código.&lt;/p>&lt;br />&lt;a name="p2618-19">&lt;/a>&lt;p class="auto" id="p2618-19">
En&amp;nbsp;palabras del&amp;nbsp;genial Phil Haack,&lt;/p>&lt;br />
&lt;div class="indent">&lt;div class="indent">&amp;laquo;tan pronto como una&amp;nbsp;línea de&amp;nbsp;código sale de&amp;nbsp;la pantalla y&amp;nbsp;volvemos a&amp;nbsp;ella, estamos en&amp;nbsp;modo mantenimiento de&amp;nbsp;la misma&amp;raquo;&lt;/div>&lt;/div>
&lt;br />&lt;a name="p2618-20">&lt;/a>&lt;p class="auto" id="p2618-20">
Como consecuencia, nosotros mismos seremos los&amp;nbsp;primeros beneficiaros (o víctimas) de&amp;nbsp;nuestro buen (o mal) hacer.&lt;br />
11. Actualiza los&amp;nbsp;comentarios a&amp;nbsp;la vez&amp;nbsp;que el&amp;nbsp;código&lt;br />
De&amp;nbsp;nada sirve comentar correctamente una&amp;nbsp;porción de&amp;nbsp;código si&amp;nbsp;en cuanto éste es&amp;nbsp;modificado no&amp;nbsp;se actualizan también los&amp;nbsp;comentarios. Ambos deben evolucionar paralelamente, pues de&amp;nbsp;lo contrario estaremos haciendo más&amp;nbsp;difícil la&amp;nbsp;vida del&amp;nbsp;desarrollador que&amp;nbsp;tenga que&amp;nbsp;mantener el&amp;nbsp;software, al&amp;nbsp;facilitarle pistas incorrectas para comprenderlo.&lt;/p>&lt;br />&lt;a name="p2618-21">&lt;/a>&lt;p class="auto" id="p2618-21">
Atención especial a&amp;nbsp;las refactorizaciones automáticas, que&amp;nbsp;suelen introducir cambios en&amp;nbsp;distintos puntos del&amp;nbsp;código de&amp;nbsp;un proyecto, dejando los&amp;nbsp;comentarios obsoletos en&amp;nbsp;ese mismo instante.&lt;br />
12. La&amp;nbsp;regla de&amp;nbsp;oro del&amp;nbsp;código legible&lt;br />
He&amp;nbsp;dejado para el&amp;nbsp;final uno&amp;nbsp;de&amp;nbsp;los principios básicos para muchos desarrolladores: deja que&amp;nbsp;tu&amp;nbsp;código hable por&amp;nbsp;sí&amp;nbsp;mismo. Aunque se&amp;nbsp;sospecha que&amp;nbsp;este movimiento está liderado por&amp;nbsp;programadores a&amp;nbsp;los que&amp;nbsp;no&amp;nbsp;les gusta comentar su&amp;nbsp;código ;-), es&amp;nbsp;totalmente cierto que&amp;nbsp;una codificación limpia puede hacer innecesaria la&amp;nbsp;introducción de&amp;nbsp;textos explicativos adicionales.&lt;/p>&lt;br />&lt;a name="p2618-22">&lt;/a>&lt;p class="auto" id="p2618-22">
Recordemos, por&amp;nbsp;ejemplo, el&amp;nbsp;código introducido en&amp;nbsp;el post &amp;laquo;Interfaces fluidos (fluent interfaces)", donde se&amp;nbsp;muestra lo&amp;nbsp;que esta técnica puede aportar a&amp;nbsp;la claridad y&amp;nbsp;autoexplicación en&amp;nbsp;un desarrollo:&lt;/p>&lt;br />
&lt;div class="indent">&lt;span class="missingpage">Console.Write&amp;nbsp;Line&lt;/span>&lt;a href="http://wiki.us.es/juanan/wakka.php?wakka=Console/WriteLine/edit&amp;amp;add=1" title="Crear esta página">?&lt;/a>(&amp;laquo;Resultado: " +&lt;div class="indent">new Calculator()&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">.Set(0)&lt;br />.
Add(10)&lt;br />.
Multiply(2)&lt;br />.
Substract(4)&lt;br />.
Get()&lt;br />
&lt;/div>&lt;/div>&lt;/div>&lt;/div>);&lt;/div>
&lt;br />&lt;a name="p2618-23">&lt;/a>&lt;p class="auto" id="p2618-23">
A&amp;nbsp;la vista del&amp;nbsp;ejemplo, ¿es necesario añadir algún comentario para que&amp;nbsp;se&amp;nbsp;entienda qué&amp;nbsp;hace el&amp;nbsp;código? El&amp;nbsp;uso de&amp;nbsp;nombres apropiados (aconsejo leer el&amp;nbsp;clásico &lt;a href="http://www.objectmentor.com/resources/articles/naming.htm" target="_blank" title="Vinculo externo
(en nueva ventana)" class="outerlink">&lt;img src="http://wiki.us.es/juanan/themes/default/icons/web.gif" alt="" border="0" />Ottinger's Rules&lt;/a>), indentación correcta y&amp;nbsp;la adopción de&amp;nbsp;guías de&amp;nbsp;estilo (podéis ver&amp;nbsp;algunas en&amp;nbsp;la wikipedia, o&amp;nbsp;googleando un&amp;nbsp;poco) facilitan enormemente la&amp;nbsp;escritura homogénea e&amp;nbsp;inteligibilidad directa del&amp;nbsp;código.&lt;/p>&lt;br />&lt;a name="p2618-24">&lt;/a>&lt;p class="auto" id="p2618-24">
El&amp;nbsp;no cumplimiento de&amp;nbsp;esta regla hace que&amp;nbsp;a&amp;nbsp;veces los&amp;nbsp;comentarios puedan parecer una&amp;nbsp;forma de&amp;nbsp;pedir perdón al&amp;nbsp;desarrollador que&amp;nbsp;se&amp;nbsp;encargará del&amp;nbsp;mantenimiento del&amp;nbsp;software.&lt;/p>&lt;br />&lt;a name="p2618-25">&lt;/a>&lt;p class="auto" id="p2618-25">
13. Difunde estas prácticas entre tus&amp;nbsp;colegas&lt;br />
Obviamente, aunque ya&amp;nbsp;hemos comentado en&amp;nbsp;el punto 10 que&amp;nbsp;nosostros mismos nos&amp;nbsp;beneficiamos inmediatamente de&amp;nbsp;las bondades de&amp;nbsp;nuestro código comentado, la&amp;nbsp;generalización y&amp;nbsp;racionalización de&amp;nbsp;los comentarios y&amp;nbsp;la creación código inteligible nos&amp;nbsp;favorecerá a&amp;nbsp;todos, y&amp;nbsp;sobre todo en&amp;nbsp;contextos de&amp;nbsp;trabajo en&amp;nbsp;equipo. No&amp;nbsp;dudes, por&amp;nbsp;tanto, en&amp;nbsp;crear cultura de&amp;nbsp;comentarios en&amp;nbsp;tu entorno.&lt;/p></description>
</item>
</channel>
</rss>

 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
 </script>
 <script type="text/javascript">
  _uacct = "UA-1947893-2";
  urchinTracker();
 </script>

