Tips para mejorar tu estilo de programacion (III)

Hola una vez más.

Os pido perdón a todos (y en especial a Juan Carlos) por la tardanza en esta última entrega, espero que os los consejos os sean útiles.

Dicho esto, vamos al lio.

Esta es la última entrega de la mini serie de “Tips para mejorar tu estilo de programación” (capitulo 1 y capitulo 2). En la entrada previa, vimos como había que declarar las variables, métodos, acciones y clases de forma descriptiva y representativa.

Esta vez hablaremos de los espacios en blanco, tabulaciones y salto de linea. Como siempre utilizaremos ejemplos para intentar explicarlo de la mejor forma posible.

A la hora de agregar tabulaciones o espacios en blanco al código, a veces solemos tener problemas si abrimos el archivo con editores diferentes.Ya que algunas veces lo que en un editor es una tabulación otro editor lo entiende como 2 espacios en blanco y siempre hay que dejar claro cuando se usa una u otra opción.

Para evitar tener problemas de este estilo, se recomienda que siempre se edite el código con el mismo IDE. Actualmente contamos con Sublime Text 3, un editor muy potente y versátil gracias a la cantidad de snippets (plugins), atajos de código, plantillas y un largo etcétera con las que cuenta el editor. Personalmente es el que suelo utilizar desde hace casi un año y con el cual estoy muy satisfecho con su rendimiento.

Una vez explicado este pequeño problema con algunos editores, vayamos al grano.

Espacios en blanco (namespaces)

Utilizar los espacios en blanco de la forma adecuada puede resultar muy agradable a la hora de leer el código, por ejemplo a la hora de asignar valores a ciertas variables o en los valores de las estructuras de control.

int width = 0;

int length = 0;

int size = 0;

En la asignaciones de valores a variables, podemos ver que cada uno de los elementos de los que se compone la asignación están separadas por un espacio en blanco. Supongamos que en vez de tener tres variables existen más de 20, si están todos los elementos juntos es más “engorroso”, digamos que es menos elegante a la hora de presentar el código.

Esto sucede de igual forma en las estructuras de control, como por ejemplo los “fors”.

for ( int i = 0; i < 10; i++ ){

};

Al separar cada componente es más facil de ver cada una de sus partes.

Tabulaciones

Las tabulaciones suelen ser útiles a la hora de escalonar el código, como por ejemplo en estructuras de control (condicionales y bucles).

Véase un ejemplo.

while(1){

          if (x==0){

                   if (y<10){};

          };

};

Si estuviera todo seguido y sin tabular sería muy complicado conocer el escalonamiento de la estructura.

Y de esta forma se puede ver que dentro del while existen dos condicionales anidados.

Saltos de linea

Los saltos de linea son aconsejables realizarlos para diferenciar extractos de código. Por ejemplo cada vez que se termine de declarar una clase agregar un salto de linea, para así poder diferenciarla de la siguiente clase.

public class CalculateRectPerimeter {

           public static void main(String[] args) {

           };

};

#saltodelinea

public class ShowResults {

          public ShowResults {

           };

};

Con estos últimos consejos finalizamos la serie de los tips para mejorar tu estilo de programación.

Espero que os haya servido de ayuda, algunos consejos ya los conoceríais y otros tal vez no.

Si queréis ver un ejemplo práctico de una buena guía de estilo, aquí os dejo el GitHub del proyecto Genbeta Dev Engine donde en su wiki han expuesto las normas/guías de estilo que debe cumplir su proyecto. Es un buen ejemplo si tenéis que empezar un proyecto con varias personas y tenéis que poner una guía de estilo para tener todo el código homogéneo.

Un saludo,

Daniel (@DaniLabs).

Direccionamiento en Ipv6 (por @1gbdeinfo)

Direccionamiento en Ipv6 por 1gbdeinfo

 
 
 
Estructura en IPv6
 
En IPv6 no existe la máscara en formato decimal como la conocíamos en IPv4 si no que se una la notación CIDR.
  • Cada Host viene identificado por 64 bits por defecto.
  • El número de bit de redes viene dado por un prefijo.

Direcciones globales.
 
  • Son enrutables en Internet, equivaldrían a las publicas IPv4.
  • Contienen 16 bits para realizar subneting internos.
  • Comienzan por un 2 o un 3 (2000::/3)
 
 
 
Direcciones locales.
 
  • Son las equivalentes al rango privado en IPv4.
  • Contienen 16 bits para realizar subneting internos.
  • Requiere ID de organización que es generado de forma aleatoria.




Direcciones Link-local.

  • Se generan automáticamente para todos los host en IPv6.
  • Seria el “equivalente” al rango APIPA en IPv4.
  • Se pueden usar en lugar de mensajes broadcast.
  • Incluyen un ID de zona que identifica al interfaz.
 



Recapitulando:



Roberto García (@1GbDeInfo)

Lab 2 configuración ruta estática ipv6 e implementación de rip-ng (ipv6)

Hola a todos

En este nuevo laben la colaboracion con 1gbdeinfo partimos de la configuración anterior, en la cual recordamos teníamos configuradas las direcciones ipv6 local-link que permitían la comunicación de los equipos en cada subnet entre ellos y a su vez la limitaba a ese entorno, y teníamos configurada la conexión serial de ambos routers y existía comunicación entre ellos, en este entorno vamos a dar un pequeño paso más allá y vamos a introducir la comunicación entre todas las subredes mediante la introducción de una ruta estática, para ello y para una mayor claridad vamos a utilizar la ruta estática 2001:1::/32 la cual resume de sobra las subredes configuradas en este ejemplo, se podría utilizar la dirección 2001:1:1::/48 la cual abarca de manera más ajustada las subredes pero prefiero comentarla y si deseáis probar el funcionamiento la configuréis en el lab.

Para proceder a la configuración de la ruta estática en ambos routers, (recordad la norma número 1 del enrutamiento cada router solo conoce su propia tabla de enrutamiento) nos introduciremos en el modo exec privilegiado y posteriormente en el modo de configuración global, y una vez en el mismo introduciremos el comando ipv6  route, el cual si os fijáis va acompañado de la ruta estática que os he comentado antes y la interfaz por la que se alcanzaran, en este caso la s0/0/0, recordad que al indicar la interfaz directamente, como en el caso de ipv4, evitamos la búsqueda recursiva de la dirección ip…(algunas cosas no cambian nunca…)

1

Sigue leyendo