Páginas

Mostrando entradas con la etiqueta buenas practicas. Mostrar todas las entradas
Mostrando entradas con la etiqueta buenas practicas. Mostrar todas las entradas

miércoles, 6 de marzo de 2013

Modelo vista controlador MVC

Introducción:

Cuando programamos siempre deberíamos tener tres componentes  básicos, la interfaz para el usuario, la lógica del negocio y un componte que conecte estos dos elementos; los docentes de programación y software siempre intentan que separemos estos componentes para tener una mayor organización y rendimiento en nuestros proyectos, sin embargo nosotros nos resistimos a este cambio con la excusa de "que estos funcionan igual" o "yo entiendo mi desorden", la idea de este articulo es contribuir a mejorar en estos aspectos y dar una introducción al paradigma de modelo vista controlador de ahora en adelante MVC.

El patrón de arquitectura de programación MVC descrito por primera vez en 1979 por Trygve Reenskaug, un programador que trabajaba en los laboratorio de investigación de Xerox, 33 años despues se sigue usando y ha tomado mucha fuerza con el desarrollo web.

Elementos:

La idea es muy simple, separar nuestro código en tres grupos:

La lógica del negocio: MODELO
La la interfaz de usuario: VISTA
La conexión entre el modelo y la vista: CONTROLADOR

Modelo: son las partes de la aplicación que implementan la lógica del negocio, a menudo estos recuperan y almacenan los objetos que están registrados en una base de datos. En este caso se haría referencia a las clases genéricas que creamos como "Persona", "Animal", "Universidad", entre otras, estas clases son representaciones estructurales de sus similares en el mundo real, tienen atributos (características del objeto) y métodos(operaciones relacionadas con el objeto).

Vista: son los componentes que muestran la interfaz de usuario de la aplicación (UI), esta interfaz se crea a partir de los datos del modelo y sirve para que el usuario final interactue con la aplicación. En este caso se habla de lo que ve el usuario la aplicación, osea la estructura con botones, campos de texto, casillas de verificación, párrafos entre otros, y las características de estos elementos.

Controlador: son los componentes que manejan la interacción del usuario, con el modelo de trabajo, y finalmente seleccionan una vista para mostrar información al usuario. En este caso es la parte que controla las interacciones del usuario y dependiendo el caso administra que modelos y que vistas usar para responder a estas interacciones, como las clases que se encargaban de controlar los eventos de los dispositivos de entrada del computador en los primeros programas que realizamos.

Ejemplo:

En una restaurante también se separa las funciones:



En la cocina se maneja la lógica del negocio, se prepara la comida y se organizan los platos este componente seria el modelo.



En la recepción se manejan los pedidos ( a cada cliente se le tiene que mandar preparar el plato que pidió) osea este seria el controlador. 




Y por ultimo los meseros serian la vista pues son quienes tratan con los usuarios finales. 


Proceso del  MVC

1. El usuario interactúa con la aplicación de alguna forma (por medio de algún elemento de la vista, como un botón o la pulsación de una tecla).

2. Se dispara el evento y el controlador lo recibe la notificación de la acción solicitada por el usuario (se entera que el usuario realizo una interacción).

3. El controlador gestiona el evento (decide que hacer con el).

4. El controlador accede al modelo y realiza la operación pertinente (generalmente se realiza un acceso a la información de la base de datos de la aplicación).

5. El controlador gestiona el despliegue de la vista adecuada ye en ella se reflejan los cambios en el modelo (la vista en si puede ser la misma pero la información del modelo ha cambiado).

6. La vista queda dispuesta para futuras interacciones del usuario.

MVC Architecture por http://developer.chrome.com


Ventajas de usar MVC:

  • Es más sencillo trabajar sobre una aplicación cuando esta esta ordenada y claramente separada en las áreas que se propone en MVC.
  • Es más fácil gestionar una aplicación que usa MVC, debido a las las interacciones de los usuarios pueden ser controladas.
  • Se mejora el campo de la reutilización de componentes.
  • Facilita las tareas de mantenimiento.
  • Los programas se vuelven más escalables (lo que quiere decir que si se añade elementos o se modifica el programa no se tienen tantos problemas).
Conclusiones:

El MVC esta siendo muy usado en el desarrollo web y es prácticamente un estándar de facto en el desarrollo actual de aplicaciones, por ello es importante conocerlo y usarlo desde nuestros proyectos más básicos.




miércoles, 19 de septiembre de 2012

Buenas practicas de programación [4]

La entrada del día de hoy es corta pero importante, se trata de la declaración un tema muy importante.

Este tema comprende:

+El numero de declaraciones por linea, es recomendado hacer solo una declaración por linea, ejemplo:

int edad; // Edad del estudiante
int nombre; // Nombre del estudiante

Es preferible sobre

int edad, nombre;

Lo que si se debe evitar a toda costa es declarar diferentes tipos de atributos:

int edad, calificaciones [];

+Inicialización: todas las variables deben ser inicializadas a no ser que dependan de un calculo que ya ha ocurrido.

+Se deben colocar las variables locales después de la inicialización del bloque de código(un bloque de código inicia con un "{"), ejemplo:

public void calcularEdad(){
      int edad = 0;
   
     if(condición){
     int aux = 0;
     }
}

Una cosa para evitar es declarar variables locales con nombres iguales a variables de alto nivel, ejemplo:

int contador = 0;

public void calcularCalificacion(){
     if(condicion){
     int contador = 0;
     }
}

+ Cuando se declaran los métodos hay que evitar espacios entre el nombre del método y el paréntesis "(" .
+ Es recomendable separar los métodos por una linea en blanco.
+ Los corchetes se ubican: El primero "{" en la misma linea de la declaración y el de cerrar "}" en una linea aparte.

lunes, 10 de septiembre de 2012

Buenas practicas de programación [3]

Lineas y espacios en blancos, aunque para algunos este tema no tiene importancia, hace parte de la estética y el orden en el código, saber usar estos elementos permite tener un código más legible y ordenado.

Lineas en blanco:

Una linea:

* Entre métodos
* Entre variables locales en un método y su primera declaración
* Después de un comentario
* Entre secciones lógicas de un método, para que sea más fácil leerlo y entenderlo(si tienes muchos puede indicar que deberias dividir el método).

Dos lineas:

* Entre secciones de un archivo fuente
* Entre definiciones de clases e interfaces

Espacios en blanco:

- Después de una de las palabras reservadas (de las que ya hablamos) que este seguida por un paréntesis.

   if () {
   }

- Cuando se tiene una lista de elementos separados por comas después de cada coma debe haber un espacio.

   String [] lista = new String [] {"Hola", "Mundo", "?"};

- Todos los operadores binarios excepto el (.) deben ser separados de sus operandos con espacios. Los únicos que no se separan son los operadores de incremento y decremento (++ y --).

a += c - b;

a = (c + b) * (x - y);

if (a++ == b--) {
}

- En los for entre sus condiciones e incremento, recuerden:

for (int i = 0; i < lista.length; i++) { }

- En las conversiones ("cast").

metodo((int) (salario + 5));

Yo también ignoraba estas buenas practicas, pero ahora no soporto ver un código sin ellas, un consejo es irlas implementado de a poco en su código, así no se complican.


lunes, 3 de septiembre de 2012

Buenas practicas de programación [2]

Hoy vamos a hablar de documentación, tema demasiado importante y que siempre se deja de lado.


Siempre sucede lo mismo, como generalmente desarrollamos solos, no nos interesa que otros lean nuestro código, pero en el sector productivo es muy importante el trabajo en equipo y por lo tanto la documentación,  tenemos que pensar que nuestro código sera una parte del producto final y que no va a ser una pieza asilada.

Para documentar un método se pueden tener en cuenta 6 partes.

  1. Nombre completo del método. 
  2. Propósito del método. 
  3. Descripción del método. 
  4. Autor original. 
  5. Modificaciones que se le han hecho. 
  6. Autores que realizan las modificaciones.
Además es necesario mencionar si existe algún problema con el método, explicar brevemente las entras y salidas.

Otra recomendación es usar un lenguaje sencillo pero utilizando términos técnicos. También evitar comentarios obvios, comentar los sets y gets. Por ultimo es recomendable agrupar las notas, a no ser que sea una anotación muy importante para una linea.

Ah se me olvidaba un buen ejercicio es documentar en ingles por obvias razones.

miércoles, 29 de agosto de 2012

Buenas practicas de programación [1]

Para programar correctamente hay que seguir algunos consejos, que no solo hace que los programas sean más eficientes sino que tambien permiten mejorar la presentación del código y hacerlo más fácil de entender.

Estos consejos son denominados oficialmente "buenas practicas en programación", la idea es ir recopilando estos consejos, así que vamos con el primero.



Algo muy importante son los nombres, llamados identificadores, a la hora de nombrar un elemento (ya sea clase, atributo o método), es necesario ser muy claros.

Hay que evitar nombrar un elemento como "a" o "variable", estos nombres son ambiguos y no dan una idea de lo que son, nombres más claros serian "Carro" o "numeroEstudiantes", estos nombre si dan una idea clara   de la naturaleza del elemento.

Hay que evitar usar símbolos y palabras reservadas, estas palabras son propias del lenguaje de programación (en este caso Java) y no se deben usar.


abstractbooleanbreakbytecasecatch
charclassconstcontinuedefaultdo
doubleelseextendsfinalfinallyfloat
forgotoifimplementsimportinstanceof
intinterfacelongnativenewpackage
privateprotectedpublicreturnshortstatic
strictfpsuperswitchsynchronizedthisthrow
throwstransienttryvoidvolatilewhile
assertenum



Por otra parte para nombrar elementos de programación en Java hay que tener en cuenta los siguientes consejos.

- Para clase: la primera letra en mayúscula y luego usar notación camelCase (primera letra de cada palabra en mayúscula), los nombres deben ser sustantivos y estar en singular.

-Para interfaces: aplica lo mismo que clases excepto que los nombres deben ser adjetivos.

-Para métodos:  la primera letra en minúscula y luego usar notación camelCase, los nombres deben ser o un verbo o una mezcla de verbo y sustantivo.

-Para variables: la primera letra en minúscula y luego usar notación camelCase, deberían ser nombres con significados claros y en lo posible corto.

- Las constantes: en este caso todas las letras deben estar en mayúscula y se debe separar cada palabra con un "_".

Con este consejo ya sera más fácil entender su código, no es lo mismo ver la variable "x" que la variable "nombreUsuario".