<?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>de archivos - Frexus</title>
	<atom:link href="https://www.frexus.dev/tag/de/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.frexus.dev/tag/de/</link>
	<description>Generando Valor Agreado</description>
	<lastBuildDate>Sun, 29 Oct 2023 17:42:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.frexus.dev/wp-content/uploads/2024/03/cropped-Captura-de-Pantalla-2022-12-26-a-las-15.52.42-32x32.png</url>
	<title>de archivos - Frexus</title>
	<link>https://www.frexus.dev/tag/de/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">215529362</site>	<item>
		<title>Solicitar datos a un usuario en rust.</title>
		<link>https://www.frexus.dev/post/solicitar-datos-a-un-usuario-en-rust/</link>
					<comments>https://www.frexus.dev/post/solicitar-datos-a-un-usuario-en-rust/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Sat, 14 May 2022 04:49:10 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[de]]></category>
		<category><![CDATA[Fundamentos]]></category>
		<category><![CDATA[Rust]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=936</guid>

					<description><![CDATA[<p>Bueno esta entrada esta dedicada a leer datos desde el teclado con rust, para así poder procesarlos y mostrar el resultado del proceso. Para ello se hará uso de unas bibliotecas con las que cuenta este lenguaje de programación. Biblioteca La biblioteca que permite solicitar al usuario que introduzca un valor, y pueda ser procesadao en rust se llama read_line, permite leer una línea como&#160;un String. Para acceder a read_line primero se necesita tener un objeto&#160;stdin. La manera más fácil de hacerlo es usar el módulo&#160;std::io. Procedimiento El procedimiento es el siguiente, en primer lugar se debe de crear una variable de tipo String vacía y mutable donde se va a alojar el resultado, posteriormente se leerá y se mostrará el resultado. Vea el siguiente ejemplo: El procedimiento es el siguiente, en primer lugar creamos una variable de tipo String vacía y mutable donde se va a alojar el resultado, posteriormente leemos y tratamos el resultado. solicitando números enteros. Como se puede apreciar, hay que importar&#160;std::str::FromStr&#160;para tener disponible las operaciones&#160;from_str&#160;en los tipos elementales. También se observa que se ha hecho un&#160;unwrap, porque from_str devuelve un Result.</p>
<p>La entrada <a href="https://www.frexus.dev/post/solicitar-datos-a-un-usuario-en-rust/">Solicitar datos a un usuario en rust.</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Bueno esta entrada esta dedicada a leer datos desde el teclado con rust, para así poder procesarlos y mostrar el resultado del proceso. Para ello se hará uso de unas bibliotecas con las que cuenta este lenguaje de programación. </p>



<h2 class="wp-block-heading">Biblioteca</h2>



<p>La biblioteca que permite solicitar al usuario que introduzca un valor, y pueda ser procesadao en rust se llama <strong>read_line</strong>, permite leer una línea como&nbsp;un <strong>String</strong>. Para acceder a read_line primero se necesita tener un objeto&nbsp;<strong>stdin</strong>. La manera más fácil de hacerlo es usar el módulo&nbsp;<strong>std::io</strong>.</p>



<h2 class="wp-block-heading">Procedimiento</h2>



<p>El procedimiento es el siguiente, en primer lugar se debe de crear una variable de tipo <strong>String</strong> vacía y <strong>mutable</strong> donde se va a alojar el resultado, posteriormente se leerá y se mostrará el resultado. Vea el siguiente ejemplo:</p>



<p>El procedimiento es el siguiente, en primer lugar creamos una variable de tipo String vacía y mutable donde se va a alojar el resultado, posteriormente leemos y tratamos el resultado.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
use std::io;

fn main() {
    let mut entrada = String::new();
    let stdin = io::stdin();
    println!(&quot;Dime tu nombre: &quot;);
    stdin().read_line(&amp;amp;mut entrada);
    println!(&quot;Tu nombre es {}&quot;,entrada);
}
</pre></div>


<h3 class="wp-block-heading">solicitando números enteros.</h3>



<pre class="wp-block-code"><code>use std::io;<br>use std::str::FromStr;<br><br>fn main() {<br>    println!("Dime tu edad: ");<br>    let mut input = String::new();<br>    io::stdin().read_line(&amp;mut input).ok().expect("Error al leer de teclado");<br>    let edad: u32 = u32::from_str(&amp;input.trim()).unwrap();<br>    let frase = if edad &gt;= 18 {<br>        "Mayor de edad"<br>    }else{<br>        "Menor de edad"<br>    };<br>    println!("{}",frase);<br>}</code></pre>



<p>Como se puede apreciar, hay que importar&nbsp;<strong>std::str::FromStr</strong>&nbsp;para tener disponible las operaciones&nbsp;<strong>from_str</strong>&nbsp;en los tipos elementales. También se observa que se ha hecho un&nbsp;<strong>unwrap</strong>, porque <strong>from_str</strong> devuelve un Result.</p>



<p></p>



<p></p>



<p></p>
<p>La entrada <a href="https://www.frexus.dev/post/solicitar-datos-a-un-usuario-en-rust/">Solicitar datos a un usuario en rust.</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/solicitar-datos-a-un-usuario-en-rust/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">936</post-id>	</item>
		<item>
		<title>Rust y sus constantes</title>
		<link>https://www.frexus.dev/post/rust-y-sus-constantes/</link>
					<comments>https://www.frexus.dev/post/rust-y-sus-constantes/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Fri, 06 May 2022 06:30:00 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[de]]></category>
		<category><![CDATA[Fundamentos]]></category>
		<category><![CDATA[Rust]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=928</guid>

					<description><![CDATA[<p>El manejo de constante en rust no cambia mucho claro que en éstas no aplica los conceptos de inmutabilidad o mutabilidad que si en las variables, lo que aplica es el sombreado de constante, que sucede igual como le pasa a las variables, es la forma en la que le llama a una re-declaración de variable. Sin embargo por definición, Las constantes representan valores que no se pueden cambiar. Si declara una constante, no hay forma de que cambie su valor. La palabra reservada para usar constantes es const. Las constantes deben escribirse explícitamente. A continuación se muestra la sintaxis para declarar una constante: Diferencias entre una constante y una variable en rust Las constantes se declaran utilizando el const palabra clave mientras que las variables se declaran utilizando la let palabra clave. Una declaración de variable puede tener opcionalmente un tipo de datos, mientras que una declaración constante debe especificar el tipo de datos. Esto significa que const USER_LIMIT = 100 resultará en un error. Una variable declarada usando la palabra reservada let que es inmutable por defecto. Sin embargo, tiene la opción de mutarlo usando la palabra mut. Las constantes son inmutables. Las constantes se pueden establecer solo en una expresión constante y no en el resultado de una llamada de función o cualquier otro valor que se calculará en tiempo de ejecución. Las constantes se pueden declarar en cualquier ámbito, incluido el ámbito global, lo que las hace útiles para valores que muchas partes del código necesitan conocer. Las constantes no se pueden sombrear. Ejemplos de constantes Como se puede observar, rust introduce conceptos muy curiosos así como nomenclaturas para la estructuración de sus variables y constantes.</p>
<p>La entrada <a href="https://www.frexus.dev/post/rust-y-sus-constantes/">Rust y sus constantes</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>El manejo de constante en rust no cambia mucho claro que en éstas no aplica los conceptos de inmutabilidad o mutabilidad que si en las variables, lo que aplica es el sombreado de constante, que sucede igual como le pasa a las variables, es la forma en la que le llama a una re-declaración de variable.</p>



<p>Sin embargo por definición, Las constantes representan valores que no se pueden cambiar. Si declara una constante, no hay forma de que cambie su valor. La palabra reservada para usar constantes es <strong>const</strong>. Las constantes deben escribirse explícitamente. A continuación se muestra la sintaxis para declarar una constante:</p>



<pre class="wp-block-code"><code>const NOMBRE_DE_LA_CONSTANTE:TIPO_DATO = VALOR_CONSTANTE;</code></pre>



<h2 class="wp-block-heading">Diferencias entre una constante y una variable en rust</h2>



<ul class="wp-block-list"><li>Las constantes se declaran utilizando el <strong>const</strong> palabra clave mientras que las variables se declaran utilizando la <strong>let</strong> palabra clave.</li><li>Una declaración de variable puede tener opcionalmente un tipo de datos, mientras que una declaración constante debe especificar el tipo de datos. Esto significa que <strong>const</strong> USER_LIMIT = 100 resultará en un error.</li><li>Una variable declarada usando la palabra reservada <strong>let </strong>que es inmutable por defecto. Sin embargo, tiene la opción de mutarlo usando la palabra <strong>mut</strong>. Las constantes son inmutables.</li><li>Las constantes se pueden establecer solo en una expresión constante y no en el resultado de una llamada de función o cualquier otro valor que se calculará en tiempo de ejecución.</li><li>Las constantes se pueden declarar en cualquier ámbito, incluido el ámbito global, lo que las hace útiles para valores que muchas partes del código necesitan conocer.</li><li>Las constantes no se pueden sombrear.</li></ul>



<h2 class="wp-block-heading">Ejemplos de constantes</h2>



<pre class="wp-block-code"><code>const pi:f64 = 3.1416;
const limite_usuario:i32 = 100;</code></pre>



<p>Como se puede observar, rust introduce conceptos muy curiosos así como nomenclaturas para la estructuración de sus variables y constantes. </p>
<p>La entrada <a href="https://www.frexus.dev/post/rust-y-sus-constantes/">Rust y sus constantes</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/rust-y-sus-constantes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">928</post-id>	</item>
		<item>
		<title>Rust y sus tipos de datos.</title>
		<link>https://www.frexus.dev/articulo/rust-y-sus-tipos-de-datos-2/</link>
					<comments>https://www.frexus.dev/articulo/rust-y-sus-tipos-de-datos-2/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Wed, 04 May 2022 08:48:00 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[de]]></category>
		<category><![CDATA[Fundamentos]]></category>
		<category><![CDATA[Rust]]></category>
		<category><![CDATA[tipo de dato]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=919</guid>

					<description><![CDATA[<p>Como en todo lenguaje se tienen los tipos de datos básicos, &#8220;enteros, cadenas, carácter, arreglos, boleanos y decimales&#8221;, sin embargo rust muestra ciertas peculiaridades a la hora de tratar con los tipos de datos, se muestran a continuación: Tipo de dato escalar Un tipo escalar representa un valor único. Por ejemplo, 10,3.14, &#8216;c&#8217;. Se tiene cuatro tipos: Integer. Floating-point. Booleans. Characters. Enteros Un número entero es un número sin componente fraccionario. Es decir, el tipo de datos entero se utiliza para representar números enteros. Los enteros se pueden clasificar además como firmados y no firmados. Los enteros con signo pueden almacenar valores tanto negativos como positivos. Los enteros sin signo solo pueden almacenar valores positivos. A continuación, se ofrece una descripción detallada de los tipos de enteros: Talla Firmado No firmado 8 bits i8 u8 16 bits i16 u16 32 bits i32 u32 64 bits i64 u64 128 bits i128 u128 Arco isize usar Tabla 1. Tipo de datos enteros en rust. Fuente: Manual de rust. El tamaño de un número entero puede ser&#160;arco&#160;. Esto significa que el tamaño del tipo de datos se derivará de la&#160;arquitectura&#160;de la máquina. Un número entero cuyo tamaño sea&#160;arch&#160;será de 32 bits en una máquina x86 y de 64 bits en una máquina x64. Un entero de arco se usa principalmente cuando se indexa algún tipo de colección. Rango de enteros Cada variante con signo puede almacenar números de&#160;&#8211; (2 ^ (n-1) a 2 ^ (n-1) -1&#160;, donde n es el número de bits que usa la variante. Por ejemplo, i8 puede almacenar números de&#160;&#8211; (2 ^ 7) a 2 ^ 7 -1&#160;&#8211; aquí reemplazamos&#160;n&#160;con 8. Cada variante sin firmar puede almacenar números del&#160;0&#160;al&#160;(2 ^ n) -1&#160;. Por ejemplo, u8 puede almacenar números de&#160;0&#160;a&#160;2 ^ 7&#160;, que es igual a 0 a 255. Desbordamiento de enteros Un desbordamiento de enteros ocurre cuando el valor asignado a una variable de entero excede el rango definido por Rust para el tipo de datos. El rango válido de la variable u8 sin signo es de 0 a 255. Si a una variable se le asignan valores superiores a 255 (límite superior para una variable entera en Rust). Al ejecutar, el compilador devolverá una advertencia: warning − literal out of range for u8 para la variable que se le asigno y el tipo de dato u8 y fue excedido. Los valores de desbordamiento después de 255 comenzarán desde 0, 1, 2, etc. Flotantes en rust El tipo de datos flotantes en Rust se puede clasificar como&#160;f32&#160;y&#160;f64. El tipo f32 es un flotador de precisión simple y el f64 tiene doble precisión. El tipo predeterminado es f64. Casting automático. Si se asigna un valor entero a una variable o constante de tipo flotante marcará un error de: mismatched types error. Esto es debido a que se ha inferido que la variable es de tipo flotante por lo que espera un dato de ese tipo y no un entero, es decir, que no es lo mismo asignar el valor 8.00 que asignar el valor 8 el primero se toma como decimal y el segundo como entero. Separador de números Para facilitar la lectura de números grandes, se puede hacer uso de un separador visual (_ )guión bajo para separar dígitos. Eso es 50,000 se puede escribir como 50_000. Boleanos Los tipos booleanos tienen dos valores posibles:&#160;verdadero&#160;o&#160;falso&#160;. Utilizar el bool&#160;palabra clave para declarar una variable booleana. Caracter. El tipo de datos caracter en Rust admite números, alfabetos, Unicode y caracteres especiales. Utiliza la palabra reservada char para declarar una variable de tipo de datos de caracteres. El tipo char de Rust representa un valor escalar Unicode, lo que significa que puede representar mucho más que solo ASCII. Los valores escalares Unicode van desdeU+0000&#160;a&#160;U+D7FF&#160;y&#160;U+E000&#160;a&#160;U+10FFFF&#160;inclusivo. Cadena / string El tipo de datos cadena en Rust se puede clasificar en lo siguiente: Cadena literal(&#38;str). Objeto de cadena(String). Cadena literal (&#38;str) Los literales de cadena (&#38; str) se utilizan cuando se conoce el valor de una cadena en tiempo de compilación. Los literales de cadena son un conjunto de caracteres, que están codificados en una variable. Por ejemplo,&#160;cadena = &#8220;rust y sus tipos de datos&#8221;&#160;. Los literales de cadena se encuentran en el módulo std :: str. Los literales de cadena también se conocen como segmentos de cadena. Los literales de cadena son estáticos de forma predeterminada. Esto significa que se garantiza que los literales de cadena sean válidos durante todo el programa. También se puede especificar explícitamente la variable como estática. Objeto de cadena El tipo de objeto String se proporciona en la biblioteca estándar. A diferencia del literal de cadena, el tipo de objeto de cadena no es parte del lenguaje principal. Se define como estructura pública en la&#160;cadena de estructura de publicación de&#160;biblioteca estándar . String es una colección que se puede cultivar. Es de tipo mutable y codificado en UTF-8. Los String se puede utilizar para representar valores de cadena que se proporcionan en tiempo de ejecución. El objeto de cadena se asigna en el montón. Sintaxis Para crear un objeto String, podemos usar cualquiera de la siguiente sintaxis: String::new() La sintaxis anterior crea una cadena vacía String::from() Esto crea una cadena con algún valor predeterminado pasado como parámetro al&#160;from()&#160;método. Métodos comunes: objeto de cadena Método Firma Descripción nuevo() pub const fn new () → Cadena Crea una nueva cadena vacía. Encadenar() fn to_string (&#38; self) → Cadena Convierte el valor dado en una cadena. reemplazar() pub fn reemplazar &#60;&#8216;a, P&#62; (&#38;&#8217; a self, de: P, a: &#38; str) → Cadena Reemplaza todas las coincidencias de un patrón con otra cuerda. as_str () pub fn as_str (&#38; self) → &#38; str Extrae un segmento de cadena que contiene toda la cadena. empujar() pub fn push (&#38; mut self, ch: char) Agrega el carácter dado al final de esta Cadena. push_str () pub fn push_str (&#38; mut self, string: &#38; str) Agrega un segmento de cadena determinado al final de esta cadena. len () pub fn len (&#38; self) → usar Devuelve la longitud de esta cadena, en bytes. podar() pub fn recortar (&#38; self) → &#38; str Devuelve un segmento de cadena con los espacios en blanco iniciales y finales eliminados. split_whitespace () pub fn split_whitespace (&#38; self) → SplitWhitespace Divide un segmento de cadena por espacios en blanco y devuelve un iterador. división() pub fn split &#60;&#8216;a, P&#62; (&#38;&#8217; a self, pat: P) → Split &#60;&#8216;a, P&#62;, donde P es el patrón puede ser &#38; str, char o un cierre que determina la división. Devuelve un iterador sobre subcadenas de este segmento de cadena, separadas por caracteres que coinciden con un patrón. caracteres () pub fn chars (&#38; self) → Chars Devuelve un iterador sobre los caracteres de un segmento de cadena. Tabla 2. Métodos del objeto cadena en rust. Fuente: manual de rust. Hasta aquí los tipos de datos en rust. Como se puede observar hay un par de cositas nuevas que maneja este amado lenguaje de programación, en la próxima entrada se vera las variables y sus conceptos para así dar paso a la solución de algunos ejercicios básicos.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/rust-y-sus-tipos-de-datos-2/">Rust y sus tipos de datos.</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Como en todo lenguaje se tienen los tipos de datos básicos, &#8220;enteros, cadenas, carácter, arreglos, boleanos y decimales&#8221;, sin embargo rust muestra ciertas peculiaridades a la hora de tratar con los tipos de datos, se muestran a continuación:</p>



<h2 class="wp-block-heading">Tipo de dato escalar</h2>



<p>Un tipo escalar representa un valor único. Por ejemplo, 10,3.14, &#8216;c&#8217;. Se tiene cuatro tipos:</p>



<ul class="wp-block-list"><li>Integer.</li><li>Floating-point.</li><li>Booleans.</li><li>Characters.</li></ul>



<h2 class="wp-block-heading">Enteros</h2>



<p>Un número entero es un número sin componente fraccionario. Es decir, el tipo de datos entero se utiliza para representar números enteros. Los enteros se pueden clasificar además <em>como firmados</em> y <em>no firmados</em>. Los enteros <em>con signo</em> pueden almacenar valores tanto negativos como positivos. Los enteros <em>sin signo</em> solo pueden almacenar valores positivos. A continuación, se ofrece una descripción detallada de los tipos de enteros:</p>



<figure class="wp-block-table"><table><tbody><tr><td>Talla</td><td>Firmado</td><td>No firmado</td></tr><tr><td>8 bits</td><td>i8</td><td>u8</td></tr><tr><td>16 bits</td><td>i16</td><td>u16</td></tr><tr><td>32 bits</td><td>i32</td><td>u32</td></tr><tr><td>64 bits</td><td>i64</td><td>u64</td></tr><tr><td>128 bits</td><td>i128</td><td>u128</td></tr><tr><td>Arco</td><td>isize</td><td>usar</td></tr></tbody></table><figcaption>Tabla 1. Tipo de datos enteros en rust. Fuente: Manual de rust.</figcaption></figure>



<p>El tamaño de un número entero puede ser&nbsp;<em>arco</em>&nbsp;. Esto significa que el tamaño del tipo de datos se derivará de la&nbsp;<em>arquitectura</em>&nbsp;de la máquina. Un número entero cuyo tamaño sea&nbsp;<em>arch</em>&nbsp;será de 32 bits en una máquina x86 y de 64 bits en una máquina x64. Un entero de arco se usa principalmente cuando se indexa algún tipo de colección.</p>



<h3 class="wp-block-heading">Rango de enteros</h3>



<p>Cada variante con signo puede almacenar números de&nbsp;<em>&#8211; (2 ^ (n-1) a 2 ^ (n-1) -1</em>&nbsp;, donde n es el número de bits que usa la variante. Por ejemplo, i8 puede almacenar números de&nbsp;<em>&#8211; (2 ^ 7) a 2 ^ 7 -1</em>&nbsp;&#8211; aquí reemplazamos&nbsp;<em>n</em>&nbsp;con 8. Cada variante sin firmar puede almacenar números del&nbsp;<em>0</em>&nbsp;al&nbsp;<em>(2 ^ n) -1</em>&nbsp;. Por ejemplo, u8 puede almacenar números de&nbsp;<em>0</em>&nbsp;a&nbsp;<em>2 ^ 7</em>&nbsp;, que es igual a 0 a 255.</p>



<h3 class="wp-block-heading">Desbordamiento de enteros</h3>



<p>Un desbordamiento de enteros ocurre cuando el valor asignado a una variable de entero excede el rango definido por Rust para el tipo de datos. El rango válido de la variable u8 sin signo es de 0 a 255. Si a una variable se le asignan valores superiores a 255 (límite superior para una variable entera en Rust). Al ejecutar, el compilador devolverá una advertencia: <strong><em>warning − literal out of range for u8</em></strong> para la variable que se le asigno y el tipo de dato u8 y fue excedido. Los valores de desbordamiento después de 255 comenzarán desde 0, 1, 2, etc. </p>



<h2 class="wp-block-heading">Flotantes en rust</h2>



<p>El tipo de datos flotantes en Rust se puede clasificar como&nbsp;<strong>f32</strong>&nbsp;y&nbsp;<strong>f64</strong>. El tipo f32 es un flotador de precisión simple y el f64 tiene doble precisión. El tipo predeterminado es f64.</p>



<h3 class="wp-block-heading">Casting automático.</h3>



<p>Si se asigna un valor entero a una variable o constante de tipo flotante marcará un error de: <strong><em>mismatched types error</em></strong>. Esto es debido a que se ha inferido que la variable es de tipo flotante por lo que espera un dato de ese tipo y no un entero, es decir, que no es lo mismo asignar el valor 8.00 que asignar el valor 8 el primero se toma como decimal y el segundo como entero.</p>



<h3 class="wp-block-heading">Separador de números</h3>



<p>Para facilitar la lectura de números grandes, se puede hacer uso de un separador visual (_ )guión bajo para separar dígitos. Eso es 50,000 se puede escribir como 50_000. </p>



<h2 class="wp-block-heading">Boleanos</h2>



<p>Los tipos booleanos tienen dos valores posibles:&nbsp;<em>verdadero</em>&nbsp;o&nbsp;<em>falso</em>&nbsp;. Utilizar el <strong>bool</strong>&nbsp;palabra clave para declarar una variable booleana.</p>



<h2 class="wp-block-heading">Caracter.</h2>



<p>El tipo de datos caracter en Rust admite números, alfabetos, Unicode y caracteres especiales. Utiliza la palabra reservada <strong>char</strong> para declarar una variable de tipo de datos de caracteres. El tipo char de Rust representa un valor escalar Unicode, lo que significa que puede representar mucho más que solo ASCII. Los valores escalares Unicode van desde<strong>U+0000</strong>&nbsp;a&nbsp;<strong>U+D7FF</strong>&nbsp;y&nbsp;<strong>U+E000</strong>&nbsp;a&nbsp;<strong>U+10FFFF</strong>&nbsp;inclusivo.</p>



<h2 class="wp-block-heading">Cadena / string</h2>



<p>El tipo de datos cadena en Rust se puede clasificar en lo siguiente:</p>



<ul class="wp-block-list"><li>Cadena literal<strong>(&amp;str)</strong>.</li><li>Objeto de cadena<strong>(String)</strong>.</li></ul>



<h2 class="wp-block-heading">Cadena literal (&amp;str)</h2>



<p>Los literales de cadena (&amp; str) se utilizan cuando se conoce el valor de una cadena en tiempo de compilación. Los literales de cadena son un conjunto de caracteres, que están codificados en una variable. Por ejemplo,&nbsp;<em>cadena = &#8220;rust y sus tipos de datos&#8221;</em>&nbsp;. Los literales de cadena se encuentran en el módulo <span style="text-decoration:underline;">std :: str</span>. Los literales de cadena también se conocen como segmentos de cadena.</p>



<p>Los literales de cadena son estáticos de forma predeterminada. Esto significa que se garantiza que los literales de cadena sean válidos durante todo el programa. También se puede especificar explícitamente la variable como estática.</p>



<h2 class="wp-block-heading">Objeto de cadena</h2>



<p>El tipo de objeto String se proporciona en la biblioteca estándar. A diferencia del literal de cadena, el tipo de objeto de cadena no es parte del lenguaje principal. Se define como estructura pública en la&nbsp;<em>cadena de estructura de publicación de</em>&nbsp;biblioteca estándar . String es una colección que se puede cultivar. Es de tipo mutable y codificado en UTF-8. Los <strong>String </strong>se puede utilizar para representar valores de cadena que se proporcionan en tiempo de ejecución. El objeto de cadena se asigna en el montón.</p>



<h3 class="wp-block-heading">Sintaxis</h3>



<p>Para crear un objeto String, podemos usar cualquiera de la siguiente sintaxis:</p>



<pre class="wp-block-preformatted">String::new()</pre>



<p>La sintaxis anterior crea una cadena vacía</p>



<pre class="wp-block-preformatted">String::from()</pre>



<p>Esto crea una cadena con algún valor predeterminado pasado como parámetro al&nbsp;<strong>from()</strong>&nbsp;método.</p>



<h2 class="wp-block-heading">Métodos comunes: objeto de cadena</h2>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Método</strong></td><td><strong>Firma</strong></td><td><strong>Descripción</strong></td></tr><tr><td>nuevo()</td><td>pub const fn new () → Cadena</td><td>Crea una nueva cadena vacía.</td></tr><tr><td>Encadenar()</td><td>fn to_string (&amp; self) → Cadena</td><td>Convierte el valor dado en una cadena.</td></tr><tr><td>reemplazar()</td><td>pub fn reemplazar &lt;&#8216;a, P&gt; (&amp;&#8217; a self, de: P, a: &amp; str) → Cadena</td><td>Reemplaza todas las coincidencias de un patrón con otra cuerda.</td></tr><tr><td>as_str ()</td><td>pub fn as_str (&amp; self) → &amp; str</td><td>Extrae un segmento de cadena que contiene toda la cadena.</td></tr><tr><td>empujar()</td><td>pub fn push (&amp; mut self, ch: char)</td><td>Agrega el carácter dado al final de esta Cadena.</td></tr><tr><td>push_str ()</td><td>pub fn push_str (&amp; mut self, string: &amp; str)</td><td>Agrega un segmento de cadena determinado al final de esta cadena.</td></tr><tr><td>len ()</td><td>pub fn len (&amp; self) → usar</td><td>Devuelve la longitud de esta cadena, en bytes.</td></tr><tr><td>podar()</td><td>pub fn recortar (&amp; self) → &amp; str</td><td>Devuelve un segmento de cadena con los espacios en blanco iniciales y finales eliminados.</td></tr><tr><td>split_whitespace ()</td><td>pub fn split_whitespace (&amp; self) → SplitWhitespace</td><td>Divide un segmento de cadena por espacios en blanco y devuelve un iterador.</td></tr><tr><td>división()</td><td>pub fn split &lt;&#8216;a, P&gt; (&amp;&#8217; a self, pat: P) → Split &lt;&#8216;a, P&gt;, donde P es el patrón puede ser &amp; str, char o un cierre que determina la división.</td><td>Devuelve un iterador sobre subcadenas de este segmento de cadena, separadas por caracteres que coinciden con un patrón.</td></tr><tr><td>caracteres ()</td><td>pub fn chars (&amp; self) → Chars</td><td>Devuelve un iterador sobre los caracteres de un segmento de cadena.</td></tr></tbody></table><figcaption>Tabla 2. Métodos del objeto cadena en rust. Fuente: manual de rust.</figcaption></figure>



<p>Hasta aquí los tipos de datos en rust.  Como se puede observar hay un par de cositas nuevas que maneja este amado lenguaje de programación, en la próxima entrada se vera las variables y sus conceptos para así dar paso a la solución de algunos ejercicios básicos.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/rust-y-sus-tipos-de-datos-2/">Rust y sus tipos de datos.</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/rust-y-sus-tipos-de-datos-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">919</post-id>	</item>
		<item>
		<title>Reseña del libro Privacidad es poder.</title>
		<link>https://www.frexus.dev/articulo/privacidad-es-poder/</link>
					<comments>https://www.frexus.dev/articulo/privacidad-es-poder/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Sun, 20 Mar 2022 13:48:11 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[capitalismo]]></category>
		<category><![CDATA[de]]></category>
		<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Reseña]]></category>
		<category><![CDATA[vigilancia]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=847</guid>

					<description><![CDATA[<p>Esta entrada va dedicada a lo interesante que es el libro &#8220;privacidad es poder&#8220;, para las personas que no son especialistas, expertos o estudiados en el área de las tecnologías y consideran que su privacidad es lo menos prioritario, deberían de leer el libro de Carisda Véliz disponible en amazon ya sea en una versión digital o impresa. Es increíble como un libro puede describir la nueva era en la que se está moviendo todo, los datos. Y si por un momento se detienen y se valora todo lo que se publica, en cualquier red social de cualquier índole, ya sea privativa, federada, profesional, y se conjuga con la huella digital con la que se navega. La cantidad de análisis y resultados predictivos es sorprendente. El libro claramente coloca ejemplos de lo que realiza la ciencia de datos y como estos nuevos científicos pueden realizar un patrón de comportamiento solo en base a lo que se comparte en redes sociales, datos de cierta manera &#8220;públicos&#8221; y que al ser mezclados con datos de navegación de algún navegador favorito (chrome, edge) que pertenecen a empresas de tecnología altamente poderosas y si se le suma que se usa su nube para &#8220;guardar &#8221; nuestros datos para que no se nos &#8220;pierdan&#8221; ellos sabrán más de uno que nosotros mismos, y lo peor es que saben como pueden influenciar en las decisiones de las personas y al poder hacer eso, ya se deja de ser libre. En uno de los capítulos del libro relata claramente como el &#8220;capitalismo de vigilancia&#8221; permite que todos los ciudadanos estén entregando diariamente a grandes corporativos sus huellas digitales y ven a la privacidad como un riesgo menor, algo de cierta manera sin &#8220;valor&#8221;, algo que en realidad no es cierto, la privacidad es fundamental para la existencia de una democracia -comenta Carisa, en su libro- pero se ha vendido que es necesaria intercambiarla por todos los &#8220;avances tecnológicos que se tienen&#8221; asistentes inteligentes (alexa, cortana) todas ellas que sin el acceso a Internet no funcionan, hardware caro, escucha todo lo que se dice cerca de ellos pero súper coquetos al decirle &#8220;alexa prende la tv y reproduce el siguiente capítulo de mi serie favorita&#8221;. Carisa Menciona que exista formas de ir recobrando nuestra privacidad, claro lo mas radical sería abandonar las redes sociales. Pero como están desarrolladas para ser adictivas es casi imposible de hacerlo, sin embargo es mas fácil limitar el acceso a la ubicación, contactos, fotos, archivos que se tienen el dispositivo móvil en el que se use alguna red social. Herramientas como Signal, un mensajero amigables con la privacidad, el cual tiene como ventaja desaparecer los mensajes enviados segundos después de ser leídos, Whatsap no tendrá mucho que lo integro pero signal ya lo tenía. También permite incorporarse a la mensajería sms para que sea una sola aplicación, así mismo permite hacer llamadas entre personas que cuenten con la app. Buscadores que no guarden una huella digital sobre lo que se consulta en la red una alternativa es duckduckgo o stargpage, no se recomienda el uso de google ya que lo que más hace es recabar información sobre el usuario y convertirlo en un producto, al grado de influir sobre sus decisiones de compra. Navegadores como Brave o vivaldi, son una opción que permite disminuir el rastreo de la huella digital para no ser parte del capitalismo de vigilancia o del comercio de datos. Ambos navegadores son amigables con la privacidad. Carissa, también recomienda que se use mas el pago de efectivo que con el de la tarjeta, ya que lo que se hace es dejar una gran rastro de que es lo que se consume quincena tras quincena, sin embargo al pagar en efectivo no es posible hacer tal cosa, y aparte es mas cómodo cuando el sistema se va regularmente o llega a estropearse la terminal de cobro con tarjeta. Para el uso de email se puede usar protonmail o tutona, el único inconveniente que la versión gratuita permite entre 500 y 250 megas de almacenamiento, sin embargo con una cuota anual se puede acceder a más espacio. Ambos email son amigables con la privacidad. Lo mas curioso es que los dueños de las grandes tecnológicas (meta, yahoo, apple, google, ) no consumen sus propios servicios, hay referencias en el libro de Carissa donde se dice que &#8220;Jobs no permitió el uso de una tablet a su hija&#8221;, donde uno de los CEO&#8217;s de google menciono que son consciente pero es necesario para la evolución&#8221; Sin embargo mas del 50 % de la población de esté planeta usa todos los servicios porque &#8220;son gratis&#8221; y como dice Carissa, &#8220;si es gratis tu eres el producto&#8220; Mi perspectiva Como conocedor del área de tecnologías, antes de leer el libro la ya había dado de baja mi cuenta en las redes sociales que no son amigables con mi privacidad, y puedo afirmar que las herramientas que se mencionan en el libro son necesarias si no queremos ser parte de un producto, y no es &#8220;que se tenga algo que esconder&#8221; o &#8220;no se es tan importante como para no compartirlo&#8221; sino que es nuestra privacidad, nuestras fotos que al compartirlas con tus &#8220;amigos&#8221; es solo para ello -bueno eso debería ser así- sin embargo se convierten en datos públicos que después son o pueden ser usado en contra de uno. Sin embargo hace falta que más personas re-consideren que la privacidad es muy esencial para el ser humano moderno y que no se es tan &#8220;necesario&#8221; para que se siga produciendo tecnología, como dice Carissa. &#8220;el no compartir nuestros datos, no es sinónimo de que no se pueda evolucionar&#8221;, muestra de ellos es la existencia de herramientas y servicios que permiten eso, ser amables con nuestra privacidad, preguntar si queremos dar nuestro consentimiento para que nuestros datos sean usados o compartidos con terceros. Lo peor es que cada día se tiene anuncios mas intrusivos, se puede notar su mas simple acción en sitios web se visualizan mas anuncios que contenido de calidad, recolectando la información mas importante y la mayor que se pueda, esto perjudica al usuario promedio con perdidas en la conexión y es posible evitarlo con el uso bien de bloquedadores de anuncios o con navegadores que ya lo traen integrados. Nuestra privacidad es muy importante y debemos recobrarla Al calce se deja el enlace para adquirir el libro.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/privacidad-es-poder/">Reseña del libro Privacidad es poder.</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" src="https://m.media-amazon.com/images/I/41oYwvDnmsS.jpg" alt="privacidad es poder" style="aspect-ratio:0.658;width:195px;height:auto"/></figure>
</div>


<p>Esta entrada va dedicada a lo <strong>interesante</strong> que es el libro &#8220;<strong>privacidad es poder</strong>&#8220;, para las personas que no son especialistas, expertos o estudiados en el área de las tecnologías y consideran que su privacidad es lo menos prioritario, deberían de leer el libro de <em>Carisda Véliz</em> disponible en amazon ya sea en una versión digital o impresa.</p>



<p>Es increíble como un libro puede describir la nueva era en la que se está moviendo todo, los datos. Y si por un momento se detienen y se valora todo lo que se publica, en cualquier red social de cualquier índole, ya sea privativa, federada, profesional, y se conjuga con la huella digital con la que se navega. La cantidad de análisis y resultados predictivos es sorprendente.</p>



<p>El libro claramente coloca ejemplos de lo que realiza la ciencia de datos y como estos nuevos científicos pueden realizar un patrón de comportamiento solo en base a lo que se comparte en redes sociales, datos de cierta manera &#8220;públicos&#8221; y que al ser mezclados con datos de navegación de algún navegador favorito (chrome, edge) que pertenecen a empresas de tecnología altamente poderosas y si se le suma que se usa su nube para &#8220;guardar &#8221; nuestros datos para que no se nos &#8220;pierdan&#8221; ellos sabrán más de uno que nosotros mismos, y lo peor es que saben como pueden influenciar en las decisiones de las personas y al poder hacer eso, ya se deja de ser libre.</p>



<p>En uno de los capítulos del libro relata claramente como el &#8220;capitalismo de vigilancia&#8221; permite que todos los ciudadanos estén entregando diariamente a grandes corporativos sus huellas digitales y ven a la privacidad como un riesgo menor, algo de cierta manera sin &#8220;valor&#8221;, algo que en realidad no es cierto, la privacidad es fundamental para la existencia de una democracia -comenta Carisa, en su libro- pero se ha vendido que es necesaria intercambiarla por todos los &#8220;avances tecnológicos que se tienen&#8221; asistentes inteligentes (alexa, cortana) todas ellas que sin el acceso a Internet no funcionan, hardware caro, escucha todo lo que se dice cerca de ellos pero súper coquetos al decirle &#8220;alexa prende la tv y reproduce el siguiente capítulo de mi serie favorita&#8221;.</p>



<p>Carisa Menciona que exista formas de ir recobrando nuestra privacidad, claro lo mas radical sería abandonar las redes sociales. Pero como están desarrolladas para ser adictivas es casi imposible de hacerlo, sin embargo es mas fácil limitar el acceso a la ubicación, contactos, fotos, archivos que se tienen el dispositivo móvil en el que se use alguna red social. </p>



<p>Herramientas como Signal, un mensajero amigables con la privacidad, el cual tiene como ventaja desaparecer los mensajes enviados segundos después de ser leídos, Whatsap no tendrá mucho que lo integro pero signal ya lo tenía. También permite incorporarse a la mensajería sms para que sea una sola aplicación, así mismo permite hacer llamadas entre personas que cuenten con la app. </p>



<p>Buscadores que no guarden una huella digital sobre lo que se consulta en la red una alternativa es duckduckgo o stargpage, no se recomienda el uso de google ya que lo que más hace es recabar información sobre el usuario y convertirlo en un producto, al grado de influir sobre sus decisiones de compra. </p>



<p>Navegadores como Brave o vivaldi, son una opción que permite disminuir el rastreo de la huella digital para no ser parte del capitalismo de vigilancia o del comercio de datos. Ambos navegadores son amigables con la privacidad.</p>



<p>Carissa, también recomienda que se use mas el pago de efectivo que con el de la tarjeta, ya que lo que se hace es dejar una gran rastro de que es lo que se consume quincena tras quincena, sin embargo al pagar en efectivo no es posible hacer tal cosa, y aparte es mas cómodo cuando el sistema se va regularmente o llega a estropearse la terminal de cobro con tarjeta. </p>



<p>Para el uso de email se puede usar protonmail o tutona, el único inconveniente que la versión <strong>gratuita</strong> permite entre 500 y 250 megas de almacenamiento, sin embargo con una cuota anual se puede acceder a más espacio. Ambos email son amigables con la privacidad.</p>



<p>Lo mas curioso es que los dueños de las grandes tecnológicas (meta, yahoo, apple, google, ) no consumen sus propios servicios, hay referencias en el libro de Carissa donde se dice que &#8220;Jobs no permitió el uso de una tablet a su hija&#8221;, donde uno de los CEO&#8217;s de google menciono que son consciente pero es necesario para la evolución&#8221; Sin embargo mas del 50 % de la población de esté planeta usa todos los servicios porque &#8220;<strong>son gratis</strong>&#8221; y como dice Carissa, &#8220;<strong>si es gratis tu eres el producto</strong>&#8220;</p>



<h2 class="wp-block-heading">Mi perspectiva</h2>



<p>Como conocedor del área de tecnologías, antes de leer el libro la ya había dado de baja mi cuenta en las redes sociales que no son amigables con mi privacidad,  y puedo afirmar que las herramientas que se mencionan en el libro son necesarias si no queremos ser parte de un producto, y no es &#8220;que se tenga algo que esconder&#8221; o &#8220;no se es tan importante como para no compartirlo&#8221; sino que es nuestra privacidad, nuestras fotos que al compartirlas con tus &#8220;amigos&#8221; es solo para ello -bueno eso debería ser así- sin embargo se convierten en datos públicos que después son o pueden ser usado en contra de uno.</p>



<p>Sin embargo hace falta que más personas re-consideren que la privacidad es muy esencial para el ser humano moderno y que no se es tan &#8220;necesario&#8221; para que se siga produciendo tecnología, como dice Carissa. &#8220;el no compartir nuestros datos, no es sinónimo de que no se pueda evolucionar&#8221;, muestra de ellos es la existencia de herramientas y servicios que permiten eso, ser amables con nuestra privacidad, preguntar si queremos dar nuestro consentimiento para que nuestros datos sean usados o compartidos con terceros.</p>



<p>Lo peor es que cada día se tiene anuncios mas intrusivos, se puede notar su mas simple acción en sitios web se visualizan mas anuncios que contenido de calidad, recolectando la información mas importante y la mayor que se pueda, esto perjudica al usuario promedio con perdidas en la conexión y es posible evitarlo con el uso bien de bloquedadores de anuncios o con navegadores que ya lo traen integrados. Nuestra privacidad es muy importante y debemos recobrarla</p>



<p>Al calce se deja el enlace para adquirir el libro. </p>



<figure class="wp-block-embed aligncenter is-type-rich is-provider-amazon wp-block-embed-amazon"><div class="wp-block-embed__wrapper">
<iframe title="Privacidad es poder: Datos, vigilancia y libertad en la era digital" type="text/html" width="960" height="550" frameborder="0" allowfullscreen style="max-width:100%" src="https://leer.amazon.com.mx/kp/card?preview=inline&#038;linkCode=kpd&#038;ref_=k4w_oembed_FQLobTOlR6e4Ux&#038;asin=B097NNHSYT&#038;tag=kpembed-20"></iframe>
</div><figcaption class="wp-element-caption">Imagen 1. Enlace para adquriri el libro Privacidad es poder. Fuente: amazon.com</figcaption></figure>



<p></p>
<p>La entrada <a href="https://www.frexus.dev/articulo/privacidad-es-poder/">Reseña del libro Privacidad es poder.</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/privacidad-es-poder/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">847</post-id>	</item>
		<item>
		<title>Recomendaciones para  programa en Java</title>
		<link>https://www.frexus.dev/articulo/recomendaciones-para-programa-en-java/</link>
					<comments>https://www.frexus.dev/articulo/recomendaciones-para-programa-en-java/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Thu, 18 Feb 2021 05:05:10 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[#Java]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[de]]></category>
		<category><![CDATA[lenguaje]]></category>
		<guid isPermaLink="false">http://www.ajgutierrez.me/?p=280</guid>

					<description><![CDATA[<p>En esta entrada se pretende dejar una lista de consideraciones que deben de tenerse muy presente antes de escribir las primeras lineas en el lenguaje de programación. Se procede a dejar las recomendaciones. Se recomienda: Que el nombre de la clase principal sea exactamente igual al nombre del archivo principal. El nombre de una clase debe iniciar con una letra mayúscula. No tener espacios en blanco en el nombre de una clase, archivo, método, variable o constante. Si sugiere que se use el guión bajo (_), guión medio (-) o colocar la siguiente letra de la palabra en mayúsculas. ejemplo. HolaMundo, Hola-Mundo, Hola_mundo. Estos ejemplos son los recomendables. Mantener el indentado (sangría francesa) de acorde a la profundidad del código. Que cada línea de código termina con un punto y coma (;), suele ser uno de los errores mas comunes. Los nombres de las variables deben de iniciar con una letra, puede iniciar en mayúsculas o minúsculas. Las variables no deben de llevar el nombre de ninguna palabra reservada, sino sabes cuales son pulsa aquí. En java hay que declarar e inicializar la variable, es decir, se debe de indicar el tipo de datos y darle un valor, esto puede hacerse en una sola linea o en varias. Los nombres de clases, métodos, variables, constante o nombre de fichero, no deben de iniciar con una carácter especial, solo con letras. Por el momento son las nueve recomendaciones que les aconsejo, de acuerdo a lo que se ha programado en java.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/recomendaciones-para-programa-en-java/">Recomendaciones para  programa en Java</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En esta entrada se pretende dejar una lista de consideraciones que deben de tenerse muy presente antes de escribir las primeras lineas en el lenguaje de programación. Se procede a dejar las recomendaciones.</p>



<p>Se recomienda:</p>



<ol class="wp-block-list"><li>Que el nombre de la clase principal sea exactamente igual al nombre del archivo principal.</li><li>El nombre de una clase debe iniciar con una letra mayúscula.</li><li>No tener espacios en blanco en el nombre de una clase, archivo, método, variable o constante. Si sugiere que se use el guión bajo (_), guión medio (-) o colocar la siguiente letra de la palabra en mayúsculas. ejemplo. HolaMundo, Hola-Mundo, Hola_mundo. Estos ejemplos son los recomendables.</li><li>Mantener el indentado (sangría francesa) de acorde a la profundidad del código.</li><li>Que cada línea de código termina con un punto y coma (;), suele ser uno de los errores mas comunes.</li><li>Los nombres de las variables deben de iniciar con una letra, puede iniciar en mayúsculas o minúsculas.</li><li>Las variables no deben de llevar el nombre de ninguna palabra reservada, sino sabes cuales son pulsa <a href="https://www.ajgutierrez.me/articulo/palabras-reservadas-en-java/">aquí</a>.</li><li>En java hay que declarar e inicializar la variable, es decir, se debe de indicar el tipo de datos y darle un valor, esto puede hacerse en una sola linea o en varias.</li><li>Los nombres de clases, métodos, variables, constante o nombre de fichero, no deben de iniciar con una carácter especial, solo con letras.</li></ol>



<p></p>



<p>Por el momento son las nueve recomendaciones que les aconsejo, de acuerdo a lo que se ha programado en java.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/recomendaciones-para-programa-en-java/">Recomendaciones para  programa en Java</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/recomendaciones-para-programa-en-java/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">280</post-id>	</item>
	</channel>
</rss>
