La caja de herramientas de Eclipse
Propiedades del proyecto
Eclipse permite personalizar las propiedades de cada proyecto.
Haga clic con el botón derecho en el nombre del proyecto y elija la opción Properties.
En la ventana de propiedades, están disponibles numerosas opciones de personalización. Esta ventana es particularmente útil cuando desea asegurarse del nivel de compatibilidad con una versión del JDK.
Para acelerar la búsqueda de la opción deseada, y siempre que sepa su nombre, una caja de texto le permite filtrar las propiedades. Se encuentra arriba a la izquierda del cuadro de diálogo de propiedades, con un pequeño mensaje type filter text.
Para cambiar el compilador, seleccione Java Compiler, marque la opción Enable project specific settings, desmarque la opción Use compliance from execution environment, y elija la versión deseada en la lista desplegable.
Para personalizar el código, acceda a la opción Java Code Style.
Si por ejemplo tiene la costumbre de prefijar el acceso a las propiedades de una clase con la palabra clave this, marque la opción Qualify all generated field accesses with ’this’.
Para realizar acciones automáticas cada vez que guarde un archivo, acceda a la opción Java Editor - Save Actions, y marque las opciones que le interesen.
Cada vez que se guarde el código con esta configuración, se formateará...
Tests unitarios
En todo desarrollo de software, una etapa que no debe descuidar nunca es la fase de pruebas: ningún desarrollador, hasta los más expertos, está exento de incurrir en errores en su desarrollo.
¿Qué diferencia a estos desarrolladores expertos de los demás? Han construido su confianza alrededor de su trabajo probando una y otra vez su código.
No se trata de revisar manualmente todos los test de una aplicación. En una aplicación de cierta entidad, esto es simplemente imposible.
Es mucho mejor confiar estas pruebas a un sistema automático que las realizará todos los días.
Se ha creado toda una cultura alrededor de esta manera de desarrollar que consiste en situar los test en el centro de la actividad de creación de software, o dicho de otro modo el desarrollo está gobernado por los test (Test-Driven Development o TDD en inglés).
Este libro no es una introducción a esta cultura, pero algunos principios básicos pueden desde ahora utilizarse: por ejemplo el Red/Green/Refactor o en español Rojo, Verde, Rehacer.
La idea es empezar primero por crear los test, que no se pasarán, para trabajar en la implementación y la codificación hasta que estos test se pasen sin errores. Una vez conseguido, debe después seguir codificando el producto hasta que tenga una forma correcta.
Eclipse propone herramientas para crear los test de bajo nivel, llamados unitarios.
Volvamos al proyecto MiPrimerPrograma haciendo clic con el botón derecho encima del explorador de packages y elija la opción New - Source Folder.
Llame a la nueva carpeta src/test/java. Haga clic en Finish.
Se guardarán las clases de test en esta carpeta. Crear esta carpeta permite separar claramente entre las clases de los test unitarios y las clases que se utilizarán para el desarrollo de la aplicación....
Internacionalización
La internacionalización de un programa consiste en adaptarlo a varios países.
Desde el punto de vista de un desarrollador de un aplicación, los puntos importantes a tener en cuenta cuando quiera distribuir su software en varios países son:
-
El idioma: no todo el mundo entiende el español o el inglés.
-
Las unidades de medida: esto abarca desde el peso (para una aplicación que gestiona artículos al peso) a la moneda.
-
El sentido de lectura: si una aplicación se distribuye en países del mundo árabe, en Israel o en Japón tendrá usuario con otros hábitos de lectura. Por ejemplo el mundo hebreo y árabe leen horizontalmente pero de derecha a izquierda (salvo para las palabra inglesas, españolas,...).
El sentido de lectura tendrá también impacto sobre la disposición gráfica de los componentes de una aplicación.
1. Traducción de las cadenas de caracteres
Volvamos a la clase MiPrimerPrograma.
Existen dos cadenas de caracteres a traducir de momento.
Estas cadenas plantean un problema: tienen como objetivo crear un mensaje a partir de una variable, que es el nombre. Nada permite afirmar que la estructura de la traducción será siempre la misma. Además, el traductor deberá saber que las palabras a traducir forman parte de una frase más amplia.
Para facilitar la tarea de traducción, se transforma la técnica de concatenación de cadenas de caracteres usando el método estático format() de la clase String para obtener el efecto deseado.
Modifique el código del método yo() por:
public String yo() {
return String.format("¡Soy %s!", nombre);
}
El código %s permite realizar la substitución textual de un objeto (se llama al método toString() del objeto y se reemplaza %s por el valor devuelto de la llamada a este método, aquí el valor del nombre).
El método String.format es muy potente y acepta un parámetro con una sintaxis muy rica: https://docs.oracle.com/javase/9/docs/api/java/util/Formatter.html#syntax
Ahora tan solo hace falta una cadena de caracteres a traducir.
Eclipse propone un mecanismo de traducción de cadenas de caracteres basada en las API de Java....
Añadir plug-ins
Existen dos maneras de añadir plug-ins a Eclipse. O realiza usted mismo las operaciones, o indica a Eclipse la URL del sitio web que proporciona el plug-in para su descarga y le deja hacer el trabajo.
En el primer caso, una vez descargado el plug-in, descomprímalo (un plug-in está muchas veces disponible como un archivo comprimido: un archivo zip) y copie su contenido en la subcarpeta dropins de la carpeta de instalación de Eclipse. Eclipse supervisa esta carpeta y se instalarán los plug-ins tras el próximo inicio de Eclipse.
En el segundo caso, basta con ir al menú Help - Install New Software... y seleccionar o copiar la dirección del sitio web en la sección Work with.
Eclipse proporciona también un conjunto de plug-ins directamente accesibles mediante su Marketplace.
Vaya al menú Help - Eclipse Marketplace... para obtener e instalar un conjunto de plug-ins seleccionados por Eclipse.
Por defecto, Eclipse está en inglés. Existen plug-ins de traducción en diferentes lenguajes. Llegando en muchas ocasiones las traducciones con cierto retraso, se arriesga a tener dificultades para encontrar o disponer de una interfaz gráfica que mezcle el español y el inglés. Además, una vez Eclipse traducido, no podrá acceder fácilmente a las traducciones inglesas. Y en cuanto busque ayuda o información por Internet, el proceso...
Añadir librerías selectivamente
Al descargar recursos adicionales, puede necesitar solamente algunas librerías entre las presentes.
Para añadirlas selectivamente, haga clic con el botón derecho en el proyecto, seleccione Properties y elija Java Build Path.
Haga clic después en el botón Add External JARs....
No se recomienda utilizar los jars externos (que no se encuentran en la carpeta del proyecto), si trabaja en equipo. E incluso trabajando solo, si cambia de ordenador y solo ha comprimido el proyecto y no los jars externos, se arriesga a perder tiempo para volver a inicializar todo. Lo mejor es copiar estos jars en el proyecto y referenciarlos con el botón Add JARs....
Gestionar las versiones de un proyecto
Con el transcurso del ciclo de vida de una aplicación se modifican, borran, mueven, ... los archivos.
Es interesante para un desarrollador o un equipo de desarrollo guardar una traza de las diferentes modificaciones, también llamadas versiones.
El método más básico de realizar esto es conservar en el disco duro cada modificación en una carpeta distinta, en el mejor de los casos con la fecha incluida en el nombre.
Este método permite compartir el código entre varias personas, cada una trabajando de su lado de una a tres semanas, y después... permite reintegrar cada una de las modificaciones transcurridas de una a tres semanas teniendo el riesgo de olvidar algunas.
Por suerte, existen otras maneras de realizar esto. Para facilitar este trabajo necesario, existen programas de gestión de versiones como Git (https://git-scm.com/), Mercurial (https://www.mercurial-scm.org/), Subversion (https://subversion.apache.org/) o incluso CVS (http://www.nongnu.org/cvs/) para los que tienen alma de paleontólogo.
Estas distintas aplicaciones de gestión de versiones permiten archivar todas las modificaciones del código fuente de un programa, compartir el código entre varios miembros de un equipo, integrar fácilmente sus modificaciones, probar diferentes soluciones, encontrar qué modificación provocó bugs así como el responsable,......