<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Regla del único punto de salida</title>
	<atom:link href="http://blog.chuidiang.com/2008/09/19/regla-del-unico-punto-de-salida/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.chuidiang.com/2008/09/19/regla-del-unico-punto-de-salida/</link>
	<description>Programación e informática en general</description>
	<lastBuildDate>Sat, 06 Mar 2010 19:55:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jersson</title>
		<link>http://blog.chuidiang.com/2008/09/19/regla-del-unico-punto-de-salida/comment-page-1/#comment-1379</link>
		<dc:creator>Jersson</dc:creator>
		<pubDate>Mon, 06 Oct 2008 17:27:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.chuidiang.com/?p=410#comment-1379</guid>
		<description>Todo muy claro.
Saludos.</description>
		<content:encoded><![CDATA[<p>Todo muy claro.<br />
Saludos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chuidiang</title>
		<link>http://blog.chuidiang.com/2008/09/19/regla-del-unico-punto-de-salida/comment-page-1/#comment-1377</link>
		<dc:creator>Chuidiang</dc:creator>
		<pubDate>Sun, 05 Oct 2008 11:11:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.chuidiang.com/?p=410#comment-1377</guid>
		<description>Hombre, la legibilidad depende mucho de lo que haga la rutina. Hay veces que “obligarse” a seguir esta regla puede enredar demasiado el código. En el ejemplo del libro muestra una simple función que debe buscar un elemento en una lista y devolver la posición que ocupa.

Siguiendo la regla tienes que declarar una variable “boolean encontrado” para marcar dentro del bucle si se ha encontrado o no y al finalizar el bucle, teniendo en cuenta esa variable, comprobar esta variable para decidir si devuelves la posición de la i del bucle o un -1. Por supuesto, esta decisión la guardas también en una variable para hacer un único return.

encontrado=false;
i=0;
while (i &lt; numero elementos y no encontrado)
___if (lista[i] == valor buscado)
______encontrado=true;
___else
______i++;
if (!encontrado)
___i = -1;
return i;

Si no sigues la regla, basta un bucle con un return dentro si lo has encontrado y un return -1 al fina. Mucho más claro.

for (i=0; i &lt; numero elementos; i++)
___if (lista[i] == elemento buscado)
______return i;
return -1;

(perdón por los _, pero no tengo mucho tiempo ahora para pelearme con la puñetera razón por la que no salen los sangrados en los comentarios).
Se bueno.</description>
		<content:encoded><![CDATA[<p>Hombre, la legibilidad depende mucho de lo que haga la rutina. Hay veces que “obligarse” a seguir esta regla puede enredar demasiado el código. En el ejemplo del libro muestra una simple función que debe buscar un elemento en una lista y devolver la posición que ocupa.</p>
<p>Siguiendo la regla tienes que declarar una variable “boolean encontrado” para marcar dentro del bucle si se ha encontrado o no y al finalizar el bucle, teniendo en cuenta esa variable, comprobar esta variable para decidir si devuelves la posición de la i del bucle o un -1. Por supuesto, esta decisión la guardas también en una variable para hacer un único return.</p>
<p>encontrado=false;<br />
i=0;<br />
while (i < numero elementos y no encontrado)<br />
___if (lista[i] == valor buscado)<br />
______encontrado=true;<br />
___else<br />
______i++;<br />
if (!encontrado)<br />
___i = -1;<br />
return i;</p>
<p>Si no sigues la regla, basta un bucle con un return dentro si lo has encontrado y un return -1 al fina. Mucho más claro.</p>
<p>for (i=0; i < numero elementos; i++)<br />
___if (lista[i] == elemento buscado)<br />
______return i;<br />
return -1;</p>
<p>(perdón por los _, pero no tengo mucho tiempo ahora para pelearme con la puñetera razón por la que no salen los sangrados en los comentarios).<br />
Se bueno.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jersson</title>
		<link>http://blog.chuidiang.com/2008/09/19/regla-del-unico-punto-de-salida/comment-page-1/#comment-1375</link>
		<dc:creator>Jersson</dc:creator>
		<pubDate>Sun, 05 Oct 2008 06:47:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.chuidiang.com/?p=410#comment-1375</guid>
		<description>Hola, 
yo lo hago/recomiendo por aspectos de:
1.- legibilidad
2.- facilita la &quot;primera depuración&quot;, es decir aquella que nos da el primer vistazo del problema que tenemos, o en todo caso, cuestion de llegar a la ultima linea del código estudiado y ver cual es el valor que esta por retornar (sin necesidad de darle tanta vuelta al código)
3.- estoy casi seguro de haberlo leido en mi libro de (poner aqui uno de archer) que el msil generado (si hablamos de .net) se complica menos si es que hay una salida de la función.

Un saludo.</description>
		<content:encoded><![CDATA[<p>Hola,<br />
yo lo hago/recomiendo por aspectos de:<br />
1.- legibilidad<br />
2.- facilita la &#8220;primera depuración&#8221;, es decir aquella que nos da el primer vistazo del problema que tenemos, o en todo caso, cuestion de llegar a la ultima linea del código estudiado y ver cual es el valor que esta por retornar (sin necesidad de darle tanta vuelta al código)<br />
3.- estoy casi seguro de haberlo leido en mi libro de (poner aqui uno de archer) que el msil generado (si hablamos de .net) se complica menos si es que hay una salida de la función.</p>
<p>Un saludo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: El arte del desarrollo web &#187; Blog Archive &#187; Estilo de programacion</title>
		<link>http://blog.chuidiang.com/2008/09/19/regla-del-unico-punto-de-salida/comment-page-1/#comment-1368</link>
		<dc:creator>El arte del desarrollo web &#187; Blog Archive &#187; Estilo de programacion</dc:creator>
		<pubDate>Fri, 19 Sep 2008 19:52:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.chuidiang.com/?p=410#comment-1368</guid>
		<description>[...] los demas, y porque no, nosotros mismos. Hay viendo mi reader, me encontre con un articulo del blog Diario de programacion, un articulo sobre el unico punto de salida. Lo interesante de este articulo es el link que dan al [...]</description>
		<content:encoded><![CDATA[<p>[...] los demas, y porque no, nosotros mismos. Hay viendo mi reader, me encontre con un articulo del blog Diario de programacion, un articulo sobre el unico punto de salida. Lo interesante de este articulo es el link que dan al [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blaxter</title>
		<link>http://blog.chuidiang.com/2008/09/19/regla-del-unico-punto-de-salida/comment-page-1/#comment-1367</link>
		<dc:creator>Blaxter</dc:creator>
		<pubDate>Fri, 19 Sep 2008 16:33:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.chuidiang.com/?p=410#comment-1367</guid>
		<description>Eso lo veo más bien como un consejo que una regla. Siempre que puedo yo intento seguirla. Por ejemplo tengo la costumbre de llamar a la variable que devolveré, &#039;ret&#039;, así no hay lugar a dudas. O en lenguajes con aspectos funcionales decentes (como ruby) puedes hacer cosas como:
&lt;code&gt;
def foobar
   returning Hash.new do &#124;ret&#124;
       ....
   end
end
&lt;/code&gt;
Que simplifican bastante su lectura.</description>
		<content:encoded><![CDATA[<p>Eso lo veo más bien como un consejo que una regla. Siempre que puedo yo intento seguirla. Por ejemplo tengo la costumbre de llamar a la variable que devolveré, &#8216;ret&#8217;, así no hay lugar a dudas. O en lenguajes con aspectos funcionales decentes (como ruby) puedes hacer cosas como:<br />
<code><br />
def foobar<br />
   returning Hash.new do |ret|<br />
       ....<br />
   end<br />
end<br />
</code><br />
Que simplifican bastante su lectura.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
