Download CursoFundeweb2

Document related concepts
no text concepts found
Transcript
Curso de introducción a Fundeweb
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Índice de contenidos
•
•
•
•
¿Qué es Fundeweb?
Eclipse como entorno de desarrollo
El servidor Weblogic
El lenguaje de programación Java
•
•
•
•
•
•
•
Tipos de datos y organización de código
Clases e instancias
Interfaces, implementaciones y herencia
Punteros y referencias
Polimorfismo
Recolector de basura
Tratamiento de excepciones
• Buenas prácticas de programación.
• Javadoc
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
¿Qué es Fundeweb?
• Framework de desarrollo de aplicaciones J2EE diseñado
por MNCS y con inicio en el año 2008.
• Facilita el proceso de desarrollo de software.
• Abstrae a los programadores de las dependencias de las
tecnologías que se usan.
• Provee de un conjunto de facilidades que adaptan el
desarrollo a las características del Framework.
• Abstrae de la base de datos sobre la que se trabaja.
• Automatiza las tareas de despliegue de proyectos.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
¿Qué es Fundeweb?
• Automatiza el despliegue en servidores de desarrollo y/o
producción.
• Provee ayudas para el control de calidad y supervisión de
código.
• En resumen:
•
Fundeweb es un framework de desarrollo de aplicaciones
que facilita a los programadores la gestión y despliegue de
proyectos.
•
Incorpora un conjunto de tecnologías suficientes para el
desarrollo de aplicaciones J2EE.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
¿Qué tipo de aplicaciones desarrolla?
• Aplicaciones J2EE.
•
Uso del patrón MVC.
• Aplicaciones de ServiciosWeb.
•
•
Capa de servicios.
Sin interfaz gráfica.
• Aplicaciones de EJB.
•
•
Capa de servicios.
Sin interfaz gráfica.
• Aplicaciones J2EE + ServiciosWeb + EJB
•
Combinación de anteriores.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Índice de contenidos
•
•
•
•
¿Qué es Fundeweb?
Eclipse como entorno de desarrollo
El servidor Weblogic
El lenguaje de programación Java
•
•
•
•
•
•
•
Tipos de datos y organización de código
Clases e instancias
Interfaces y herencia
Punteros y referencias
Polimorfismo
Recolector de basura
Tratamiento de excepciones
• Buenas prácticas de programación.
• Javadoc
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Eclipse
• IDE de desarrollo de aplicaciones.
• Basado en un core y un paquete de extensión o plugins.
• Eclipse se puede adaptar mediante la instalación de
plugins a diferentes lenguajes de programación.
• Concentra toda la funcionalidad necesaria para que los
programadores desarrollen sus proyectos.
• Contiene un gestor de plugins que permite instalar nuevos
o actualizar los existentes.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Eclipse: Plugins
• Maven:
•
Permite la gestión de las librerías que requiere el proyecto.
•
Especifica cuando se deben cargar las librerías:
•
En Compliación.
•
En runtime.
•
En test.
•
No cargar: existente en el servidor de antemano.
•
Gestiona la construcción de proyectos.
•
Requiere tener acceso a un repositorio Maven donde
buscar las dependencias del proyecto.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Eclipse: Plugins
• Subclipse:
•
Cliente de Subversion para eclipse.
•
Permite comparaciones entre ficheros locales y del servidor
SVN.
•
Ayuda a la resolución de conflictos entre ficheros
desincronizados.
•
Visualiza de manera rápida las diferencias entre nuestro
contenido local y el del repositorio.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Eclipse: Plugins
• Ant:
•
Nos permite ejecutar tareas concretas para manejar
nuestros proyectos.
•
Puede interactuar con todos los componentes de nuestro
entorno:
•
•
Código fuente
•
Servidores
•
Test
Creadas tareas Ant en Fundeweb para automatizar tareas
de despliegue y empaquetados de proyectos.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Eclipse: Plugins
•
TestNG:
•
Framework de testing para Java.
•
Basado en Junit (realización de pruebas unitarias).
•
Permite paso de parámetros.
•
Nos permite comprobar que nuestro código hace lo que debe.
•
Permite Cubrir todo tipo de pruebas:
•
Unitarias.
•
Funcionales.
•
End-to-end.
•
Integración.
•
Etc…
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Eclipse: Plugins
• CheckStyle:
•
Permite chequear si el código programado tiene defectos de
forma.
•
Comprueba:
•
Que se programa de acuerdo a estándares.
•
Que el código producido sea eficiente.
•
Que los comentarios sean correctos y adecuados.
•
Que el código sea legible para otros desarrolladores.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Eclipse: Plugins
• FindBugs:
•
•
•
Chequea el código generado para prevenir errores en
tiempo de ejecución.
Para ello hace uso de patrones de error buscando en el
código las ocurrencias de los mismos.
Algunos ejemplos de comprobaciones:
•
•
•
•
•
Null pointers.
Clases no serializables cuando el contexto requiere que se
serialicen.
Posibles divisiones por cero.
Comparaciones entre clases que no sobrescriben equals.
Etc…
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Índice de contenidos
•
•
•
•
¿Qué es Fundeweb?
Eclipse como entorno de desarrollo
El servidor Weblogic
El lenguaje de programación Java
•
•
•
•
•
•
•
Tipos de datos y organización de código
Clases e instancias
Interfaces y herencia
Polimorfismo
Punteros y referencias
Recolector de basura
Tratamiento de excepciones
• Buenas prácticas de programación.
• Javadoc
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Servidor Weblogic
• Oracle WebLogic es un servidor de aplicaciones Java EE
y HTTP.
• Desarrollado originalmente por BEA y comprado
posteriormente por ORACLE.
• Compatible con cualquier base de datos que se ajuste al
estándar JDBC.
• Integra un portal web de gestión integral de los diferentes
componentes.
• Provee plugins para Eclipse para el despliegue de
aplicaciones.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Índice de contenidos
•
•
•
•
¿Qué es Fundeweb?
Eclipse como entorno de desarrollo
El servidor Weblogic
El lenguaje de programación Java
•
•
•
•
•
•
•
Tipos de datos y organización de código
Clases e instancias
Interfaces y herencia
Punteros y referencias
Polimorfismo
Recolector de basura
Tratamiento de excepciones
• Buenas prácticas de programación.
• Javadoc
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java
•
Lenguaje de programación orientado a objetos.
•
Diseñado para tener las mínimas dependencias con una
implementación concreta.
•
El objetivo es programar para cualquier dispositivo
independientemente de su arquitectura.
•
Las aplicaciones java se ejecutan sobre una máquina virtual
(JVM) instalada en cada dispositivo.
•
Actualmente Java es uno de los lenguajes de programación
más extendidos cubriendo el ámbito: Web, móvil y de
aplicaciones de escritorio.
•
Importante: Java es sensible a mayúsculas y minúsculas por
lo que no es lo mismo “Hola” que “hola”.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tipos de datos y organización de
código
• Java nos permite organizar el código (ficheros) en lo que
denomina paquetes.
• En cada fichero deberemos poner en la primera línea y de
manera obligatoria a qué paquete pertenece.
• Esta estructura es simbólica y la decide el desarrollador.
• El nombre del paquete ha de coincidir con la ruta en disco
de la carpeta que contiene al fichero. Esta ruta será
relativa al proyecto.
• Algunas propiedades de Java nos permiten aplicar
características sobre un paquete determinado, lo que
afecta a todos los ficheros que referencia.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tipos de datos y organización de
código
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tipos de datos y organización de
código
• Los tipos de datos primitivos en Java son
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tipos de datos y organización de
código
• Los tipos de datos no primitivos, pero que provee Java son
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tipos de datos y organización de
código
• Java provee de un tipo de dato especial llamado
enumerado.
• Este tipo de dato provee una lista fija de valores, no
variable.
• Se suele emplear cuando entre conjuntos de datos del
mismo tipo iguales queremos representar un subtipo o bien
un estado.
• Este tipo de dato se da de alta de la siguente manera
public enum AuthenticationType {
RADIUS, SSO, CARNE, DNI
}
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tipos de datos y organización de
código
• Java permite que nos podamos crear nuestros propios
conjuntos de tipos de datos de manera indefinida.
• Es responsabilidad del programador analizar y decidir qué
debe ser un tipo de dato y qué no.
• Normalmente, los tipos de datos que queramos crear,
representarán entidades de nuestra aplicación o bien un
registro de base de datos.
• Estos “tipos de datos” toman entidad propia en Java
llamándose clases.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tipos de datos y organización de
código
• Los operadores Java son:
• Operadores Aritméticos:
• +-*/
• Operadores Incrementales
• ++ -- += -=
• Operadores Relacionales
• > < >= <= != ==
• Operadores lógicos
• &&
• ||
• !
• Operador de concatenación de cadenas
• +
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Clases e instancias
• Clases:
•
Define todas las propiedades concretas de una entidad que
queremos modelar.
•
Agrupa toda la funcionalidad (métodos) que podemos
ejecutar sobre esa entidad.
•
Define relaciones entre entidades diferentes.
•
Han de tener un método especial llamado "constructor"
encargado de inicializar las nuevas clases.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Clases e instancias
•
Una variable se define de la siguiente manera:
•
Ámbito (calificativos) tipoDeDato nombre: private int numero;
•
El ámbito puede ser:
•
•
public: accesible por cualquier otra clase de la aplicación.
•
private: sólo accesible dentro de la clase en la que se declara.
•
protected: accesible por todas las clases que estén en el mismo
paquete. Si no se indica ámbito este es el por defecto.
Los calificativos (opcionales):
•
static: se podrá acceder sin necesidad de que la clase esté creada.
•
final: no se podrá modificar el valor. Se deberán inicializar en su
declaración.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Clases e instancias
• Una método se define:
•
Ámbito tipoDeDatoRetorno nombre (variables){}
•
•
public int suma(int numero1, int numero 2){}
El ámbito puede ser:
•
public: accesible por cualquier otra clase de la aplicación.
•
private: sólo accesible dentro de la clase en la que se declara.
•
protected: accesible por todas las clases que estén en el
mismo paquete. Si no se indica ámbito este es el por defecto.
• Los métodos que no devuelven valor deben tener como
tipo de dato de retorno “void”.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Clases e instancias
• Un ejemplo:
package action.vehiculos;
Nos indica a qué conjunto de clases pertenece
public class Coche { Inicio de la definición de la clase "Coche"
private int puertas;
private String modelo;
Propiedades de la clase coche
private String matricula;
private boolean tieneSeguro;
public Coche() { Constructor de la clase coche (vacío)
}
public int getPuertas() { Método para obtener el parámetro "puertas"
return puertas;
}
public void setPuertas(int puertas) { Método para asignar valor al parámetro
this.puertas = puertas;
"puertas"
}
Importante: Java es "case sensitive" por lo que no será lo mismo “coche” que “Coche.”
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Clases e instancias
• Nomenclartura:
•
•
•
•
Las clases siempre empiezan por mayúsculas.
Los nombres pueden contener letras y números pero
siempre han de empezar por letra.
Los métodos y variables siempre empiezan por minúsculas.
Cuando un nombre contenga varias palabras, no se usan ni
espacios ni guiones para separar, se pone la siguiente letra
en mayúsculas
•
•
•
public void generar_resultado() ¡Incorrecto!
public void generarResultado() ¡Correcto!
Adaptarnos a los estándares permite que las herramientas
de terceros funcionen correctamente sobre nuestro código.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Clases e instancias
• Una clase es la definición de una entidad junto con todos
sus propiedades y acciones posibles.
• Una instancia u objeto es cuando esa definición se
transforma en una entidad concreta. Contiene por lo
tanto los valores y el estado de una clase en un instante
determinado.
Ejemplo de clase
public class Coche{
private int puertas;
private int tipoCombustible;
…
}
Instancia de la clase
Coche{
puertas = 5;
tipoCombustible=“diesel”;
}
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Clases e instancias
• Una clase puede contener variables que sean otras
clases.
• Desde una clase se puede llamar a los métodos de
cualquier otra clase, siempre que se tenga una instancia.
• Existen objetos especiales, llamados colecciones que
forman listas de objetos, permitiendo recorrerlas y
almacenar en memoria sus elementos.
• Programando definimos las clases. En ejecución se
accede a instancias.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Interfaces, implementaciones y
herencia
• Interfaz:
•
Una interfaz pretende definir un "índice" de métodos que
deben implementar las clases que quieran ser consideradas
acorde a esa interfaz.
•
Es una clase especial que sólo contiene una definición de
métodos.
•
Sólo se incluye el encabezado de los métodos, no su
contenido.
•
Una interfaz representa algo más genérico que una clase
concreta.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Interfaces, implementaciones y
herencia
• Implementación:
•
Se dice que una clase implementa a una interfaz, cuando
dicha clase contiene todos los métodos que define la
interfaz.
•
La clase está obligada a cumplir con toda la funcionalidad
que expone la interfaz.
•
Una clase puede implementar más de una interfaz a la vez.
•
Para indicar que una clase implementa una interfaz se
especifica poniendo "implements NombreInterfaz" en el
encabezado de la clase.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Interfaces, implementaciones y
herencia
• Herencia:
•
Cuando una clase hereda de otra, obtiene todas sus
propiedades y métodos de la clase “padre”.
•
La clase "hija" puede:
•
Definir nuevas propiedades y métodos propios.
•
Redefinir los métodos heredados de la clase "padre".
•
Una clase sólo puede heredar de una única clase padre.
Java no posee herencia múltiple.
•
Cuando una clase hereda de otra se indica poniendo
"extends NombrePadre" en el encabezado de la clase hija.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Interfaces, implementaciones y
herencia
• Herencia:
•
•
•
•
•
Cuando una clase quiere sobrescribir un método del padre,
se marca el nuevo método con la anotación @Override.
El método de la clase hija ha de tener la misma definición
que el de la clase padre.
En caso de no sobrescribirse un método, se ejecutará el de
la clase padre.
Si una clase padre quiere obligar a que los hijos
implementen un método, lo marca con la palabra "abstract"
y no implementa su contenido.
En este caso la clase padre ha de marcarse también como
"abstract".
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Interfaces, implementaciones y
herencia
• Ejemplo:
package action.interfaces;
Nos indica a qué conjunto de clases pertenece
public interface Vehiculo { Inicio de la definición de la interfaz "Vehiculo"
public boolean tieneSeguro();
public void recorreDistancia(int numKilometros);
public double getCombustibleRestante();
}
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Definición de un métodos
Java: Interfaces, implementaciones y
herencia
• Ejemplo:
//Clase padre
public abstract class VehiculoMotor {
public abstract void echarGasolina(double litros);
}
//Clase hija
public class Coche extends VehiculoMotor{
public Coche() {
}
@Override
public void echarGasolina(double litros){
}
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Interfaces, implementaciones y
herencia
• Cuando tenemos un objeto de una clase concreta, pero
queremos queremos usar las propiedades del objeto
padre o de la interfaz que implementa hacemos un “cast”.
• Un “cast” es decirle a Java que el objeto que tenemos lo
utilice como si fuera el que le estamos indicando.
•
(ObjetoDestino)miObjeto
• ObjetoDestino es la clase a la que queremos transformar
miObjeto.
• Haciendo uso de “instanceof” podemos preguntar si un
objeto es de un tipo concreto.
•
miObjeto instanceof Clase
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Interfaces, implementaciones y
herencia
• ¿Cuándo debemos heredar y cuando aplicar una interfaz?
• El desarrollador decide, pero la referencia es:
•
Herencia: Cuando entre los objetos hay una relación
conceptual entre sí. “Un coche es un vehículo”. En este
caso se comparten métodos y propiedades
•
Interfaz: Cuando un objeto indica que puede realizar unas
determinadas acciones que tienen en común un grupo de
objetos aunque sean muy diferentes. “Un coche genera
calor” pero también una estufa, el sol, una reacción química,
etc.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Punteros y referencias
•
Referencias:
•
•
•
•
•
•
Cuando creamos un objeto Java internamente se está creando
un puntero que apunta a una posición de memoria donde está su
valor.
La asociación de un puntero con una posición de memoria se
llama referencia.
Si asignamos ese objeto creado a otra variable, lo que realmente
se está copiando es la referencia. Es decir, el dato es el mismo
pero se apunta a él desde dos sitios diferentes.
Si modificamos un objeto, esa modificación afecta a todas las
variables que lo referencien.
Si queremos copiarlo, debemos clonarlo en un objeto nuevo y
que la nueva variable apunte a él.
Mientras que un objeto tenga alguna referencia, no se liberará de
memoria su contenido.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Punteros y referencias
• Ejemplo
Coche seat1 = new Coche();
seat.setGasolina(40);
Coche seat2 = new Coche();
seat2.setGasolina(40);
seat2.quitaGasolina(20);
seat1.getGasolina();
seat2,getGasolina();
Coche seat1 = new Coche();
seat.setGasolina(40);
Coche seat2 = seat1;
seat2.quitaGasolina(20);
seat1.getGasolina();
seat2,getGasolina();
seat1
Memoria
seat2
20
seat1
Memoria
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
40
seat2
20
Java: Polimorfismo
• Hasta ahora hemos definido clases concretas que
representan conceptos concretos.
• El polimorfismo nos permite indicar para una clase
concreta varios tipos de conceptos.
• Esto se consigue gracias a las interfaces y a la herencia.
• Si nos basamos en el ejemplo de herencia podemos ver
que un mismo objeto puede ser varias cosas a la vez.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Polimorfismo
• Ejemplo:
//Clase padre
public abstract class VehiculoMotor {
public abstract void echarGasolina(double litros);
}
//Clase hija
public class Coche extends VehiculoMotor{
public Coche() {
}
@Override
public void echarGasolina(double litros){
}
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Polimorfismo
• En este ejemplo si tuviéramos una instancia de coche.
Podríamos decir lo siguiente:
•
Un coche es un coche (obvio)
•
Un coche es un vehículo de motor.
• Esta doble definición que parece trivial nos permite
realizar acciones diferentes según el tipo que queramos
aplicar.
• Si tuviésemos otra clase hija de VehículoMotor, por
ejemplo Ciclomotor. Veríamos que conceptualmente son
diferentes, pero ambos tienen un punto común.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Polimorfismo
• Gracias al polimorfismo podríamos recorrer todos los
VehiculoMotor y ejecutar sus métodos sin necesidad de
saber qué tipo de vehículo son concretamente.
• Adicionalmente, siempre podemos bajar un nivel e ir al
tipo concreto de vehículo y aplicar sus métodos concretos.
• En nuestro ejemplo tendríamos que una instancia
concreta:
•
Siempre será un VehiculoMotor.
•
Podrá ser un Ciclomotor o podrá ser un Coche, pero nunca
los dos a la vez.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Recolector de basura
• Recolector de basura:
•
•
•
•
•
Es un mecanismo de Java para gestionar de manera
automática la memoria.
Abstrae a los programadores del proceso de reserva y
liberación de memoria.
Cuando crea un objeto reserva memoria en función de sus
características y la amplia cuando sea necesario.
Cuando detecta que un objeto no tiene ninguna referencia
(nadie apunta a él) lo elimina liberando la memoria
ocupada.
Gran parte de los problemas de memoria se producen por
acumulación de objetos que ya no se usan, pero existe aún
alguna referencia en el código hacia ellos.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tratamiento de excepciones
•
•
•
Cuando en nuestro código Java, el compilador nos indica que
puede saltar una excepción deberemos hacer uso del bloque
try{ … }catch(NombreExcepcion ex){ … }
Este bloque nos permite que si se produjera una excepción
dentro del código situado en el “try” se nos ejecutará lo
indicado dentro del catch.
En el bloque catch se nos pasará la excepción lanzada y la
información disponible.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Tratamiento de excepciones
•
También podemos lanzar nuestras propias excepciones para que la clase
que llama a nuestro método la maneje.
•
Para ello debemos:
•
•
•
Crear una clase que represente a nuestra excepción y hacer que herede de la
clase Java Exception.
Añadir en la cabecera de nuestro método la cláusula throws
NombreExcepcion.
Dentro del código lanzar la excepción de la siguiente manera: throw new
NombrExcepcion(“texto que se quiera poner”);
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Índice de contenidos
•
•
•
•
¿Qué es Fundeweb?
Eclipse como entorno de desarrollo
El servidor Weblogic
El lenguaje de programación Java
•
•
•
•
•
•
•
Tipos de datos y organización de código
Clases e instancias
Interfaces, implementaciones y herencia
Punteros y referencias
Polimorfismo
Recolector de basura
Tratamiento de excepciones
• Buenas prácticas de programación.
• Javadoc
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Buenas prácticas
•
Las variables se han de crear siempre al principio de la clase o
método.
•
Los métodos get y set siempre deben ir al final.
•
Nunca usar variables públicas.
•
Se crean privadas y se implementan sus métodos get y set.
•
Si varias clases comparten muchas propiedades hacer uso de la
herencia.
•
No usar la salida estándar de consola para mostrar texto.
•
Definir y usar los logs en su caso.
•
Respetar los estándares.
•
Minimizar el uso de estructuras complejas siempre que sea posible.
•
Comentar los métodos y los trozos de código largos.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Buenas prácticas
• Si tenemos una clase con demasiadas líneas de código,
revisar si realmente son necesarias ahí o se puede
reestructurar.
• En los constructores sólo asignar valores, no ejecutar
métodos.
• Utilizar método “equals” cuando se comparan objetos en
vez de “==“.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Índice de contenidos
•
•
•
•
¿Qué es Fundeweb?
Eclipse como entorno de desarrollo
El servidor Weblogic
El lenguaje de programación Java
•
•
•
•
•
•
•
Tipos de datos y organización de código
Clases e instancias
Interfaces, implementaciones y herencia
Punteros y referencias
Polimorfismo
Recolector de basura
Tratamiento de excepciones
• Buenas prácticas de programación
• Javadoc
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Javadoc
• Para introducir comentarios en el código haremo uso de la
doble barra // cuando sea una línea.
• Cuando sean varias líneas haremos uso de la estructura /*
todo el comentario */
• Para generar javadoc de los métodos, nos situaremos en
el encabezado del método, escribiremos /** y le daremos
al enter para que se nos genere automáticamente el
encabezado y podamos completarlo.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Java: Javadoc
• Es importante generar el Javadoc adecuado pues se
mostrará a los que usen nuestros métodos.
• Si las clases implementan interfaces el Javadoc debe ir en
la interfaz y no en la implementación concreta.
• Lo mismo pasa en caso de la herencia con los métodos
que se sobreescriben.
© 2012. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.