<?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>CodigoLinea - Benjamin Gonzales &#187; Convención</title>
	<atom:link href="http://codigolinea.com/tag/convencion/feed/" rel="self" type="application/rss+xml" />
	<link>http://codigolinea.com</link>
	<description>Deesarrollo web</description>
	<lastBuildDate>Sat, 28 Nov 2009 14:35:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Estilo de programación y convención de nombres II</title>
		<link>http://codigolinea.com/2008/05/25/estilo-de-programacion-y-convencion-de-nombres-ii/</link>
		<comments>http://codigolinea.com/2008/05/25/estilo-de-programacion-y-convencion-de-nombres-ii/#comments</comments>
		<pubDate>Mon, 26 May 2008 00:06:55 +0000</pubDate>
		<dc:creator>Benjamin Gonzales</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Convención]]></category>
		<category><![CDATA[Estilo de Código]]></category>
		<category><![CDATA[estilo de programacion]]></category>
		<category><![CDATA[Reglas de programacion]]></category>

		<guid isPermaLink="false">http://codigolinea.com/?p=8</guid>
		<description><![CDATA[Continuando el post anterior vamos a ver sobre convención de nombres.
Convenciones del uso de Mayúsculas y minúsculas
Muchas convenciones de nomenclatura hacen uso de las mayúsculas y minúsculas en sus identificadores.
Entre ellas tenemos:
1. Estilo Pascal (PascalCase)
La primera letra del identificador y la primera letra de las siguientes palabras concatenadas están en mayúsculas. El estilo de mayúsculas [...]]]></description>
			<content:encoded><![CDATA[<p>Continuando el post anterior vamos a ver sobre convención de nombres.</p>
<h3 style="color:#669900">Convenciones del uso de Mayúsculas y minúsculas</h3>
<p>Muchas convenciones de nomenclatura hacen uso de las mayúsculas y minúsculas en sus identificadores.</p>
<p>Entre ellas tenemos:</p>
<p><strong>1. Estilo Pascal (PascalCase)</strong><br />
La primera letra del identificador y la primera letra de las siguientes palabras concatenadas están en mayúsculas. El estilo de mayúsculas y minúsculas Pascal se puede utilizar en identificadores de tres o más caracteres, por ejemplo:<br />
<span style="color: #ff6600;">ImageSprite</span></p>
<p><strong>2. Estilo camelCase</strong><br />
La primera letra del identificador está en minúscula y la primera letra de las siguientes palabras concatenadas en mayúscula, por ejemplo:<br />
<span style="color: #ff6600;">imageSprite</span></p>
<p><strong>3. Estilo Mayúsculas (ALL_CAPS)</strong><br />
Todas las letras del identificador se encuentran en mayúsculas ejemplo<br />
<span style="color: #ff6600;">IO</span></p>
<p><strong>4. Estilo minúsculas (small_caps)</strong><br />
Todas las letras del identificador se encuentran en minúsculas ejemplo<br />
<span style="color: #ff6600;">system </span></p>
<p>Esta designación de la convención se utiliza muy poco</p>
<p>Cada lenguaje de programación hace uso de estos estilos según el identificador que use y de acuerdo a su convención.</p>
<p>En la siguiente tabla tenemos, las convenciones usadas por cada lenguaje de progragramción</p>
<table style="font-family:Arial, Helvetica, sans-serif; font-size:12px" border="0" cellspacing="3" cellpadding="2" width="500">
<tbody>
<tr>
<td align="center" bgcolor="#62b7df"><span style="text-align: center; color: #ffffff;"><strong>Tipo</strong></span></td>
<td align="center" bgcolor="#62b7df"><span style="text-align: center; color: #ffffff;"><strong>PHP</strong></span></td>
<td align="center" bgcolor="#62b7df"><span style="text-align: center; color: #ffffff;"><strong>C#</strong></span></td>
<td align="center" bgcolor="#62b7df"><span style="text-align: center; color: #ffffff;"><strong>Java</strong></span></td>
</tr>
<tr>
<td bgcolor="#ebebeb">Clase</td>
<td valign="top" bgcolor="#ebebeb">PascalCase</td>
<td bgcolor="#ebebeb">PascalCase</td>
<td bgcolor="#ebebeb">PascalCase</td>
</tr>
<tr>
<td bgcolor="#ebebeb">Constante</td>
<td valign="top" bgcolor="#ebebeb">ALL_CAPS</td>
<td bgcolor="#ebebeb">PascalCase</td>
<td bgcolor="#ebebeb">ALL_CAPS</td>
</tr>
<tr>
<td bgcolor="#ebebeb">Método</td>
<td valign="top" bgcolor="#ebebeb">camelCase</td>
<td bgcolor="#ebebeb">PascalCase</td>
<td bgcolor="#ebebeb">camelCase</td>
</tr>
<tr>
<td bgcolor="#ebebeb">Namespace / Package</td>
<td bgcolor="#ebebeb">small_caps (5.3x)</td>
<td bgcolor="#ebebeb">PascalCase</td>
<td bgcolor="#ebebeb">small_caps</td>
</tr>
<tr>
<td bgcolor="#ebebeb">Propiedades</td>
<td valign="top" bgcolor="#ebebeb">camelCase</td>
<td bgcolor="#ebebeb">PascalCase</td>
<td bgcolor="#ebebeb">camelCase</td>
</tr>
<tr>
<td bgcolor="#ebebeb">Parámetro</td>
<td valign="top" bgcolor="#ebebeb">camelCase</td>
<td bgcolor="#ebebeb">camelCase</td>
<td bgcolor="#ebebeb">camelCase</td>
</tr>
<tr>
<td bgcolor="#ebebeb">Variable local</td>
<td valign="top" bgcolor="#ebebeb">camelCase</td>
<td bgcolor="#ebebeb">camelCase</td>
<td bgcolor="#ebebeb">camelCase</td>
</tr>
<tr>
<td bgcolor="#ebebeb">Interface</td>
<td valign="top" bgcolor="#ebebeb">PascalCase</td>
<td bgcolor="#ebebeb">PascalCase</td>
<td bgcolor="#ebebeb">PascalCase</td>
</tr>
</tbody>
</table>
<h2 style="color:#669900; margin-top:25px;">Convención de Nombres</h2>
<p>La convención de nombres es un conjunto de normas y reglas para la escritura de nombres, código fuente, identificadores y comentarios dentro de la programación,  que facilitan y hacen más comprensible su lectura.</p>
<p><strong>1. Clases</strong></p>
<ul>
<li>Las clases representan “cosas”  y no “acciones”, por tal motivo evitar verbos como nombre de clase.</li>
<li>El nombre de la clase debe estar en singular, salvo que la clase represente multiplicidad de cosas.</li>
<li>Las Nombres de las clases deberían ser Sustantivos: ejemplo <em style="color: #ff6600;">carro, hombre, tienda, pais, empleado,  proveedor</em></li>
<li>Cada clase debe tener un bloque de documentación según la norma del lenguaje.</li>
</ul>
<p>[PHP]<br />
/**<br />
*  Bloque de Documentación<br />
*/<br />
class SampleClass<br />
{<br />
//contenido de la clase<br />
}</p>
<p>[/PHP]</p>
<pre class="brush: csharp;">///
/// Bloque de Documentación
///
public class SampleClass
{
//contenido de clase
}</pre>
<pre class="brush: java;">
/**
*  Bloque de Documentación
*/
public class SampleClass
{
//contenido de la clase
}
</pre>
<p><strong>2. Métodos</strong></p>
<ul>
<li>Los nombres de los métodos deberían ser un verbo, dado que describe una acción ; ejemplo <em style="color: #ff6600;">remover(), enviar(), cargar()</em></li>
<li>Los Métodos dentro de las clases siempre debe declarar su visibilidad tales como <em style="color: #ff6600;">privadas, protegidas, públicas, etc</em></li>
</ul>
<p><strong>3. Variables </strong></p>
<ul>
<li>Evitar variables que sean de un solo carácter, Los nombres comunes para las variables temporales son <span style="color: #ff6600;">i, j, k, m, y n</span> para los números enteros; <span style="color: #ff6600;">c, d, y e</span> para los caracteres.</li>
<li>Nombres de variables sólo pueden contener caracteres alfanuméricos</li>
<li>Nombres de variables deben ser camelCase</li>
</ul>
<p><strong>4. Constantes </strong><br />
Según el tipo de lenguaje tenemos algunos ejemplos</p>
<table style="font-family:Arial, Helvetica, sans-serif; font-size:12px" border="0" cellspacing="3" cellpadding="1" width="500">
<tbody>
<tr>
<td align="center" bgcolor="#62b7df"><span style="text-align: center; color: #ffffff;"><strong>PHP</strong></span></td>
<td align="center" bgcolor="#62b7df"><span style="text-align: center; color: #ffffff;"><strong>C#</strong></span></td>
<td align="center" bgcolor="#62b7df"><span style="text-align: center; color: #ffffff;"><strong>Java</strong></span></td>
</tr>
<tr>
<td bgcolor="#ebebeb">MIN_WIDTH</p>
<p>LOCAL_CONSTANT</p>
<p>COLUMNS</td>
<td bgcolor="#ebebeb">LocalConstant</p>
<p>MinWidth</p>
<p>Colums</td>
<td bgcolor="#ebebeb">MIN_WIDTH</p>
<p>LOCAL_CONSTANT</p>
<p>COLUMNS</td>
</tr>
</tbody>
</table>
<p><strong>4. Comentarios </strong><br />
Según el tipo de lenguaje que estemos usando podemos guiarnos de sus reglas y convenciones establecidas:<br />
- <strong>php </strong><a href="http://www.phpdoc.org/" target="_self">phpDocumentator</a><br />
- <strong>c# </strong> <a href="http://msdn2.microsoft.com/es-es/magazine/cc302121(en-us).aspx">MDSN guia</a><br />
- <strong>java</strong> <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html" target="_blank">javadoc</a></p>
<p><strong>Conclusiones</strong><br />
Hay muchas cosas mas que se quedan en el tintero, pero creo que con esta miniguía podemos empezar hacer que nuestro código sea mas elegante, profesional, fácil de entender y que nuestras aplicaciones puedan ser mas rápidos de mantener</p>
<p><strong>Links Relacionados</strong><br />
<a href="http://java.sun.com/docs/codeconv/html/CodeConventions.doc10.html#182" target="_blank"> http://java.sun.com/docs/codeconv/html/CodeConventions.doc10.html#182</a><br />
<a href="http://framework.zend.com/manual/en/coding-standard.coding-style.html" target="_blank"> http://framework.zend.com/manual/en/coding-standard.coding-style.html</a><br />
<a href="http://msdn.microsoft.com/en-us/library/ms229043.aspx" target="_blank"> http://msdn.microsoft.com/en-us/library/ms229043.aspx</a><br />
<a href="http://www.irritatedvowel.com/Programming/Standards.aspx" target="_blank"> http://www.irritatedvowel.com/Programming/Standards.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codigolinea.com/2008/05/25/estilo-de-programacion-y-convencion-de-nombres-ii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Estilo de programación y convención de nombres I</title>
		<link>http://codigolinea.com/2008/05/25/estilo-de-programacion-y-convencion-de-nombres-i/</link>
		<comments>http://codigolinea.com/2008/05/25/estilo-de-programacion-y-convencion-de-nombres-i/#comments</comments>
		<pubDate>Sun, 25 May 2008 23:32:51 +0000</pubDate>
		<dc:creator>Benjamin Gonzales</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Convención]]></category>
		<category><![CDATA[Estilo de Código]]></category>
		<category><![CDATA[Reglas de programacion]]></category>

		<guid isPermaLink="false">http://codigolinea.com/?p=7</guid>
		<description><![CDATA[Llevo ya un  tiempo como desarrollador y me he topado muchas veces con proyectos donde el código es  ilegible e incompresible, y  veo con suma  preocupación que muchos desarrolladores no le prestan la debida atención a este  tema, ¿será por la falta de conocimiento, por la pereza de darnos un [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo ya un  tiempo como desarrollador y me he topado muchas veces con proyectos donde el código es  ilegible e incompresible, y  veo con suma  preocupación que muchos desarrolladores no le prestan la debida atención a este  tema, ¿será por la falta de conocimiento, por la pereza de darnos un trabajo  extra o por creer que es una práctica pasada de moda?.</p>
<blockquote><p><em>&#8220;En el apuro por cumplir un plazo de desarrollo de aplicaciones, es fácil descuidar el estilo y la legibilidad.&#8221; Nigel Cheshire</em></p></blockquote>
<p>¿Por que  deberíamos de apegarnos a estas reglas?</p>
<p>Por lo  siguientes motivos:</p>
<ul>
<li>Hacer  mas legible el código</li>
<li>El  80% del coste de la vida útil de una pieza de software se destina al  mantenimiento</li>
<li>Casi  ningún software se mantendrá durante toda su vida, por el autor original</li>
<li>Dentro  de un equipo de programadores es mas fácil entender el código y a la vez mas  fácil depurarlo</li>
<li>Hacer  que el código sea mas fácil de reutilizarlo</li>
<li>Reducir  los números de errores lógicos en el código y el tiempo en su depuración.</li>
</ul>
<blockquote><p><em>&#8220;Cuando usted se siente obligado a añadir un comentario, considere la posibilidad de volver a escribir el código para hacerlo más claro.&#8221; SUN Microsystems</em><em><br />
</em></p></blockquote>
<p>Muchas  veces no reparamos en las consecuencias que pueda tener a largo plazo, el no  seguir estas normas, pasándolas por alto o dejándolos para otro momento.</p>
<p>Veamos el siguiente cuadro</p>
<p style="text-align:center"><img src="http://codigolinea.com/wp_personal_gallery/cuadro.jpg" alt="cuadro" width="400" height="330" /></p>
<p>Como vemos las consecuencias pueden ser desagradables, ya que incrementarán el tiempo y el  costo de mantenimiento, hasta llegar al punto que va ser mucho más sencillo  volverlo a desarrollar todo desde cero.</p>
<p>Empecemos!</p>
<h1>Estilo de programación</h1>
<p>Hace referencia a como formateamos el código que estamos desarrollando, tales como llaves, indentación, paréntesis, el espaciado, etc. Esto puede diferir entre lenguajes de programación.</p>
<p>A continuación les dejo una pequeña guía personal basándome en los estilos de  Java, C# y PHP</p>
<p><strong>1. Indentación</strong><br />
Sobre como indentar hay varios estilos tales como: <em>Allman, K&amp;R, BSD KN, Whitesmiths,</em> etc.<br />
Considero que el estilo Allman es el mejor,  el cual dice que debemos usar los sangrados para <strong>indentar</strong> el código, nunca espacios. Poner las llaves de control en la línea subsiguiente.</p>
<p style="text-align:center"><img src="http://codigolinea.com/wp_personal_gallery/style1.gif" alt="" width="359" height="243" /></p>
<p><strong>2. Saltos de Línea</strong></p>
<ul>
<li>Añadir un salto de línea después del cierres de los paréntesis de los parámetros.</li>
<li>Añadir un salto de línea después un punto y coma, cuando termina la sentencia.</li>
</ul>
<p style="text-align:center"><img src="http://codigolinea.com/wp_personal_gallery/style2.gif" alt="" width="358" height="227" /></p>
<p><strong>3. Espacios y líneas  en blanco</strong></p>
<ul>
<li>Usar espacios en blanco para mejorar la legibilidad del código.</li>
<li>Usar espacios en blanco e ambos lados del operador de símbolos, después de comas y después de las declaraciones.</li>
<li>Usar líneas en blanco para separar trozos de código.</li>
<li>Usar líneas en blanco antes de cada método dentro de la clase.</li>
</ul>
<p style="text-align:center"><img src="http://codigolinea.com/wp_personal_gallery/style3.gif" alt="" width="376" height="444" /></p>
<p><strong>4. Longitud de la línea<br />
</strong>Evite las líneas de mas de 80 caracteres cuando supera se debe córtalo bajo los siguiente principios</p>
<ul>
<li>Salto de línea  después de la coma.</li>
<li>Salto de línea  después de un operador.</li>
<li>Alinear la nueva línea con el principio de la expresión en el mismo nivel en la línea anterior.</li>
</ul>
<p>Hasta aquí llegamos hoy, en la próxima veremos sobre la convención de nombres</p>
]]></content:encoded>
			<wfw:commentRss>http://codigolinea.com/2008/05/25/estilo-de-programacion-y-convencion-de-nombres-i/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
