<?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 &#187; estilo de programacion</title>
	<atom:link href="http://codigolinea.com/tag/estilo-de-programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://codigolinea.com</link>
	<description>free programing</description>
	<lastBuildDate>Sun, 13 Feb 2011 23:56:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<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>Benjamín</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 [...]]]></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; title: ;">///
/// Bloque de Documentación
///
public class SampleClass
{
//contenido de clase
}</pre>
<pre class="brush: java; title: ;">
/**
*  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>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
