<?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; General</title>
	<atom:link href="http://codigolinea.com/category/general/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>Actualizando Zend Framework en Zend Studio</title>
		<link>http://codigolinea.com/2008/07/30/actualizando-zend-framework-en-zend-studio/</link>
		<comments>http://codigolinea.com/2008/07/30/actualizando-zend-framework-en-zend-studio/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 01:10:45 +0000</pubDate>
		<dc:creator>Benjamín</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[actualización]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[versión]]></category>
		<category><![CDATA[Zend Studio]]></category>

		<guid isPermaLink="false">http://codigolinea.com/?p=13</guid>
		<description><![CDATA[Las últimas versiones de Zend Studio ya trae integrado el Zend Framework, el cual nos ayuda a autocompletar el código, mostrar la lista de propiedades, lista de métodos, etc, solo se tiene que activar dicha opción para poderlo usar. Lo malo es que la versión de Zend Framework no siempre es actual, ya que Zend Studio [...]]]></description>
			<content:encoded><![CDATA[<p>Las últimas versiones de Zend Studio ya trae integrado el Zend Framework, el cual nos ayuda a autocompletar el código, mostrar la lista de propiedades, lista de métodos, etc, solo se tiene que activar dicha opción para poderlo usar.</p>
<p><img src="http://codigolinea.com/wp_personal_gallery/zsp.gif" alt="" width="300" height="292" /></p>
<p>Lo malo es que la versión de Zend Framework no siempre es actual, ya que Zend Studio toma la versión vigente de Zend Framework al momento de la publicación del software, así tenemos que la última versión  de <strong>Zend Studio 5.5.1</strong> traiga <strong>Zend Framework 1.0.3</strong> cuando la versión vigente es una superior.</p>
<p><strong>¿Cual es sería la solución? </strong></p>
<p>Es bien simple, cuando el Zend Studio se instala, crea una carpeta dentro de su directorio raíz donde guarda dicho Framework, así que solo tenemos que reemplazar esta carpeta con la versión mas reciente del Framework.</p>
<p><strong>Paso 1</strong><br />
Descargamos le versión más actual del Zend Framework <a href="http://framework.zend.com/download">http://framework.zend.com/download</a>.</p>
<p><strong>Paso 2</strong><br />
Descomprimimos el archivo bajado en cualquier ubicación de nuestro disco, la estructura de los directorios será mas o menos así:<br />
<img src="http://codigolinea.com/wp_personal_gallery/file.gif" alt="" width="185" height="122" /></p>
<p>Luego copiamos la carpeta <strong>Zend</strong></p>
<p><strong>Paso 3</strong><br />
No dirigimos a la ubicación donde se instalo Zend Studio y donde guarda el Framework, en mi caso es la siguiente ruta:<br />
<em><strong>C:\Program Files\Zend\ZendStudio-5.5.1\bin\ZendFramework\library </strong></em> en el cual aparecerá una carpeta llamada <strong>Zend</strong> lo renombrados y le ponemos de nombre <strong>old</strong></p>
<p><strong>Paso 4</strong><br />
Pegamos la carpeta que copiamos, luego cerramos y volvemos a abrir el <strong>Zend Studio</strong> y ya podremos trabajar con las nuevas funcionalidades del Framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://codigolinea.com/2008/07/30/actualizando-zend-framework-en-zend-studio/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Instalando Zend Framework</title>
		<link>http://codigolinea.com/2008/07/27/instalando-zend-framework/</link>
		<comments>http://codigolinea.com/2008/07/27/instalando-zend-framework/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 23:38:30 +0000</pubDate>
		<dc:creator>Benjamín</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Instalando Zend]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://codigolinea.com/?p=11</guid>
		<description><![CDATA[Zend Framework  es uno de los principales Frameworks para el desarrollo de aplicaciones Web, basados en PHP y tiene la ventaja de que los creadores de PHP estén detrás de este poderoso Framework. 1. ¿Que necesitamos para instalar este Framework? - PHP 5.2.3 ó superiores Si trabajas con la versión 5.1.4 funcionará correctamente, pero Zend [...]]]></description>
			<content:encoded><![CDATA[<p>Zend Framework  es uno de los principales Frameworks para el desarrollo de aplicaciones Web, basados en PHP y tiene la ventaja de que los creadores de PHP estén detrás de este poderoso Framework.</p>
<p><strong>1. ¿Que necesitamos para instalar este Framework?</strong></p>
<p>- PHP 5.2.3 ó superiores</p>
<blockquote><p>Si trabajas con la versión 5.1.4 funcionará correctamente, pero Zend nos recomienda usar la versión 5.2.3 o superiores, puesto que en estas versiones hay mejoras importantes en la seguridad como en el funcionamiento de PHP, ya que algunas bibliotecas PHP usados por Zend Framework no eran completamente estables hasta la versión 5.2.3.</p></blockquote>
<p>- Un servidor Web como Apache, IIS, u otros. PHP es multi plataforma así que funcionará en la mayoría de servidores web y sistemas operativos tales como <strong>Linux, Solaris, Windows, OS X, etc. </strong> En lo personal prefiero Linux y Apache</p>
<blockquote><p>Si deseas dedicarte o te dedicas de manera profesional al desarrollo web con php, te recomiendo que uses <strong>Linux </strong> como Servidor Web, ya que te permitirá conocer  el entorno y te enfrentaras a problemas reales que suelen suceder en la mayoría de servidores Web (hosting) que brindan soporte a PHP</p></blockquote>
<blockquote><p>SI trabajas con Windows hay programas que permiten montar APACHE + LINUX + MYSQL con una simple instalación, entre estos programas tenemos XAMPP, WAMPServer, Appserv, etc</p></blockquote>
<p>- Las Extensiones PHP necesarios que deben estar instalados nuestro servidor web son:<br />
Según el DB que usemos:</p>
<ul>
<li><a href="http://www.php.net/manual/en/book.pdo.php" target="_top"><code class="code">pdo</code></a> Para todos los adaptadores de Base de datos</li>
<li>pdo_mssql y/o <a href="http://www.php.net/manual/en/ref.mssql.php" target="_top"><code class="code">mssql</code></a> para trabajar con Mcrosoft SQL Server</li>
<li> <a href="http://www.php.net/manual/en/ref.pdo-mysql.php" target="_top"><code class="code">pdo_mysql</code></a> y/o <a href="http://www.php.net/manual/en/ref.mysql.php" target="_top"><code class="code">mysql</code></a> y/o <a href="http://www.php.net/manual/en/ref.mysqli.php" target="_top"><code class="code">mysqli</code></a> para trabajar con Mysql</li>
<li> <a href="http://www.php.net/manual/en/ref.pdo-oci.php" target="_top"><code class="code">pdo_oci</code></a> y/o <a href="http://www.php.net/manual/en/ref.oci8.php" target="_top"><code class="code">oci8</code></a> para trabajar con Oracle</li>
<li> <a href="http://www.php.net/manual/en/ref.pdo-pgsql.php" target="_top"><code class="code">pdo_pgsql</code></a> y/o <a href="http://www.php.net/manual/en/ref.pgsql.php" target="_top"><code class="code">pgsql</code></a> para trabajar con postgreSQL</li>
<li> <a href="http://www.php.net/manual/en/ref.pdo-sqlite.php" target="_top"><code class="code">pdo_sqlite</code></a> y/o <a href="http://www.php.net/manual/en/ref.sqlite.php" target="_top"><code class="code">SQLite</code></a> para trabajar con sqlLite</li>
<li> <a href="http://www.php.net/manual/en/ref.ibm-db2.php" target="_top"><code class="code">ibm_db2</code></a> para trabajar con DB2</li>
<li><a href="http://www.php.net/manual/en/ref.uodbc.php" target="_top"><code class="code">odbc</code></a> Adaptador ODBC</li>
</ul>
<p>Otros:</p>
<ul>
<li><a href="http://www.php.net/manual/en/ref.zlib.php" target="_top"><code class="code">zlib</code></a> Para los componentes  <a href="http://framework.zend.com/manual/en/zend.pdf.html" target="_top"><code class="code">Zend_Pdf</code></a>,                             <a href="http://www.php.net/manual/en/ref.memcache.php" target="_top"><code class="code">Memcache</code></a></li>
<li><a href="http://www.php.net/manual/en/ref.json.php" target="_top"><code class="code">json</code></a> Para los componentes <a href="http://framework.zend.com/manual/en/zend.json.html" target="_top"><code class="code">Zend_Json</code></a></li>
<li><a href="http://www.php.net/manual/en/ref.image.php" target="_top"><code class="code">gd</code></a> Para los componentes <a href="http://framework.zend.com/manual/en/zend.pdf.html" target="_top"><code class="code">Zend_Pdf</code></a></li>
</ul>
<p>Para  comprobar si lo tenemos instalado estos componentes solo tenemos que hacer uso de la función  <strong>phpinfo()</strong> de PHP.</p>
<blockquote><p>Para más información detallada acerca de los componentes,  extensiones PHP y sus dependencias, lo encuentran en:<br />
- <a href="http://framework.zend.com/manual/en/requirements.extensions.html">PHP Extensions</a><br />
- <a href="http://framework.zend.com/manual/en/requirements.zendcomponents.html">Zend Framework Components</a></p></blockquote>
<p><strong>2. Descargando Zend Framework</strong></p>
<p>Una vez que tengamos nuestro entorno con los componentes necesarios, procederemos a descargar la versión mas reciente, estable y oficial del Zend Framework del siguiente link <a href="http://framework.zend.com/download ">http://framework.zend.com/download </a> y lo guardamos dentro de la carpeta <strong>library</strong></p>
<p>Pero si eres osado y deseas contar con la versión mas actualizada , lo puedes descargar desde <a href="http://framework.zend.com/download/snapshot">http://framework.zend.com/download/snapsho</a> o haciendo uso de un cliente de subversión (SVN) desde                     <a href="http://framework.zend.com/svn/framework/standard/trunk/" target="_top">http://framework.zend.com/svn/framework/trunk</a> y de esa manera tenerlo actualizado siempre. Estas versiones cuentan con las últimas mejoras y nuevos componentes, pero recuerda que están sujetos a posibles cambios futuros.</p>
<p><strong>3. Estructura de Archivos</strong></p>
<p>Va depender de como deseas configurarlo y el entorno en que te encuentres.</p>
<p>- Si nuestro proyecto va funcionar como principal aplicación de nuestro servidor web, optamos por la siguiente estructura.<br />
<img src="http://codigolinea.com/wp_personal_gallery/dir1.gif" alt="" width="451" height="456" /></p>
<p>- Si nuestro proyecto va funcionar como aplicación secundaria, lo podemos estructurar de la siguiente manera<br />
<img src="http://codigolinea.com/wp_personal_gallery/dir2.gif" alt="" width="451" height="456" /></p>
<p>Estos son estructuras propuestas,  pueden ser cambiadas y adaptadas a nuestros entornos y manera de trabajo. En el siguiente enlace <a href="http://framework.zend.com/wiki/display/ZFPROP/Zend+Framework+Default+Project+Structure+-+Wil+Sinclair">&#8220;Zend Framework Default Project Structure &#8220;</a> podemos encontrar diversas maneras de crear la estructura de archivos  para nuestros proyectos.</p>
<p><strong>4. Configurando nuestro archivo .htaccess</strong></p>
<pre class="brush: plain; title: ;">
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|pdf)$ index.php
</pre>
<p>Estas reglas encaminaran las peticiones hacia el <strong>front controller</strong> a excepción de las imágenes, archivos javascript, hojas de estilo, archivhos .swf (flash). Si deseamos que exceptué algún otra extensión solo lo añadimos a nuestra regla.</p>
<p>Ya tenemos nuestro entorno listo para trabajar, solo nos queda probar para ver si funciona todo correctamente.</p>
<p><strong>5. Probando su funcionamiento</strong><br />
Vamos a crear nuestro proyecto dentro del localhost de nuestro servidor local, la ruta seria http://localhost/</p>
<p><strong>5.1 Creando el archivo Index </strong><br />
Creamos el archivo /public/index.php con el siguiente contenido.</p>
<pre class="brush: php; title: ;">
$basePath = dirname(dirname(__FILE__));
set_include_path(get_include_path() . PATH_SEPARATOR .
$basePath . '/library' . PATH_SEPARATOR);

/** @see Zend_Controller_Front */
require_once 'Zend/Controller/Front.php';

Zend_Controller_Front::run($basePath . '/application/controllers');
</pre>
<p><strong>5.2 Creando el archivo IndexController </strong><br />
Creamos el archivo /application/controllers/indexController.php con el siguiente contenido.</p>
<pre class="brush: php; title: ;">
/** @see Zend_Controller_Action */
require_once 'Zend/Controller/Action.php';

class IndexController extends Zend_Controller_Action
{
	public function indexAction()
	{
		$this-&gt;view-&gt;test = &quot;Hola Mundo&quot;;
	}
}
</pre>
<p><strong>5.3 Creando la Vista </strong><br />
Creamos el archivo /application/views/scripts/index.phtml con el siguiente contenido.</p>
<pre class="brush: xml; title: ;">
&lt; !DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;test&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
&lt; ?php

echo $this-&gt;escape($this-&gt;test);

?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p><strong>5.4 Probando </strong><br />
Abrimos nuestro navegador y escribimos la ruta http://localhost y nos debe salir el mensaje &#8216;Hola Mundo&#8217;, si nos mostró el mensaje es decir que todo funciona bien y estamos listo para crear nuestras aplicaciones web.</p>
<p>Hasta aquí llegamos, eso sería todo, espero que les sea de mucha utilidad al momento de crear sus proyectos, Quedo abierto a sus preguntas y/o comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://codigolinea.com/2008/07/27/instalando-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
		<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>Benjamín</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 trabajo extra o por creer [...]]]></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>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
