1.1 Convenciones de Java.pdf
Document Details
Uploaded by Deleted User
Tags
Related
Full Transcript
Convenciones de Java Las convenciones de código mejoran la legibilidad del software, entender código nuevo más deprisa y exhaustivamente. Por qué las convenciones de código Ing. María de Lourdes Loaiza, MSc. 2 Extensiones de ficheros o archivos...
Convenciones de Java Las convenciones de código mejoran la legibilidad del software, entender código nuevo más deprisa y exhaustivamente. Por qué las convenciones de código Ing. María de Lourdes Loaiza, MSc. 2 Extensiones de ficheros o archivos Ing. María de Lourdes Loaiza, MSc. 3 Indentación Longitud de la línea Ing. María de Lourdes Loaiza, MSc. 4 Indentación: Rompiendo líneas Ing. María de Lourdes Loaiza, MSc. 5 Indentación: Ejemplos (Rompiendo líneas) Ejemplos de como romper la llamada a un método Ahora dos ejemplos de ruptura de líneas en expresiones aritméticas. Se prefiere el primero ya que el salto de línea ocurre fuera de la expresión que encierra los paréntesis Ing. María de Lourdes Loaiza, MSc. 6 Indentación: Ejemplos (Rompiendo líneas) Dos ejemplos de indentación de declaraciones de métodos. El primero es el caso convencional. El segundo conduciría la segunda y la tercera línea demasiado hacia la izquierda con indentación convencional, así que en su lugar se unan 8 espacios de indentación Ing. María de Lourdes Loaiza, MSc. 7 Indentación: Ejemplos (Rompiendo líneas) Saltar de líneas por 1 sentencias if deberá seguir generalmente la regla de los 8 espacio, ya que la indentación convencional (4 espacios) hace difícil ver 2 el cuerpo. No se debe utilizar la indentación la primera forma, en su lugar se puede utiliza la segunda o 3 tercera forma. Ing. María de Lourdes Loaiza, MSc. 8 Comentarios Ing. María de Lourdes Loaiza, MSc. 9 Formatos de comentarios de Implementación Ing. María de Lourdes Loaiza, MSc. 10 Formatos de comentarios de Implementación Ing. María de Lourdes Loaiza, MSc. 11 Formatos de comentarios de Implementación Ing. María de Lourdes Loaiza, MSc. 12 Formatos de comentarios de Implementación El delimitador de comentario // puede convertir en comentario una línea completa o una parte de una línea. No debe ser usado para hacer comentarios de varias líneas consecutivas; sin embargo, puede usarse en líneas consecutivas para comentar secciones de código Ing. María de Lourdes Loaiza, MSc. 13 Declaraciones Ing. María de Lourdes Loaiza, MSc. 14 Declaraciones Ing. María de Lourdes Loaiza, MSc. 15 Declaraciones Ing. María de Lourdes Loaiza, MSc. 16 Declaración de class e interfaz Ing. María de Lourdes Loaiza, MSc. 17 Sentencias Sentencias simples Sentencias compuestas Ing. María de Lourdes Loaiza, MSc. 18 Sentencias Sentencias de retorno Ing. María de Lourdes Loaiza, MSc. 19 Sentencias condicionales Sentencias if, if-else, if else-if else: deben tener una de las siguientes formas Nota: Las sentencias if usan siempre llaves {}. Evitar la siguiente forma, propensa a errores: Ing. María de Lourdes Loaiza, MSc. 20 Sentencias condicionales Condicional Ternario: condición ? expresión_si_verdadero : expresión_si_falso; Permite tomar decisiones de acuerdo a una condición y se puede escribir en una sola línea, es una forma corta del condicional if-else. Ejemplo: Evalua la edad y asigna un texto a la variable msg. int edad = 25; String msg = (edad >= 18) ? “Mayor de edad” : “Menor de edad”; System.out.println(msg); Se compone de tres partes como se vió en el ejemplo anterior: 1. La condición a evaluar (condición booleana): edad>= 18 2. El valor si la condición es verdadera (valor verdadero): "Mayor de edad" 3. El valor si la condición es falsa (valor falso): "Menor de edad" Ing. María de Lourdes Loaiza, MSc. 21 Sentencias condicionales Sentencias switch: debe tener la siguiente forma Cada vez que un caso se propaga (no incluye la sentencia break), añadir un comentario donde la sentencia break se encontraría normalmente. Esto se muestra en el ejemplo con el comentario. Cada sentencia switch debe incluir un caso por defecto. El break en el caso por defecto es redundante, pero previene que se propague por error si luego se añade otro caso. Ing. María de Lourdes Loaiza, MSc. 22 Sentencias de repetición Sentencias for Ing. María de Lourdes Loaiza, MSc. 23 Sentencias de repetición Sentencias while Sentencias do-while Ing. María de Lourdes Loaiza, MSc. 24 Sentecias try-catch Sentencias try-catch: debe tener la siguiente forma Ing. María de Lourdes Loaiza, MSc. 25 Líneas en blanco Ing. María de Lourdes Loaiza, MSc. 26 Espacios en blanco Ing. María de Lourdes Loaiza, MSc. 27 Espacios en blanco Ing. María de Lourdes Loaiza, MSc. 28 Convenciones de nombres Las convenciones de nombres hacen los programas más entendibles, haciéndolos más fácil de leer. También pueden dar información sobre la función de un identificador, ejemplo: Cuando es una constante, un paquete o una clase, que puede ser útil para entender el código. A continuación, se presenta una tabla con los diferentes tipos de identificadores, las reglas para nombrarlas y ejemplos. Ing. María de Lourdes Loaiza, MSc. 29 Convenciones de nombres Tipos de Reglas para los nombres Ejemplos identificadores El prefijo del nombre de un paquete se escribe siempre con letras ASCII en minúsculas, y debe ser uno de los nombres de dominio de alto nivel, actualmente com, edu, gov, mil, net, org, o uno de los códigos ingleses de dos letras que identifícan cada país como se especifica en el ISO Standard com.sun.eng 3166, 1981. Paquetes com.apple.quicktime.v2 Los subsecuentes componentes del nombre del paquete variarán de edu.cmu.cs.bovik.cheese acuerdo a las convenciones de nombres internas de cada organización. Dichas convenciones pueden especificar que algunos nombres de los directorios correspondan a divisiones, departamentos, proyectos o máquinas Los nombres de las clases deben ser sustantivos, cuando son compuestos tendrán la primera letra de cada palabra que lo forma en mayúsculas. Intentar mantener los nombres de las clases simples y descriptivos. Usar class Cliente; Clases palabras completas, evitar acrónimos y abreviaturas (a no ser que la class ImagenAnimada; abreviatura sea mucho más conocida que el nombre completo, como URL or HTML). Ing. María de Lourdes Loaiza, MSc. 30 Convenciones de nombres Tipos de Reglas para los nombres Ejemplos identificadores Los nombres de las interfaces siguen la misma regla que las clases. interface Interfaces ObjetoPersistente; interface Almacen; Los métodos deben ser verbos, cuando son compuestos tendrán la ejecutar(); Métodos primera letra en minúscula, y la primera letra de las siguientes palabras ejecutarRapido(); que lo forma en mayúscula. cogerFondo(); Los nombres de las variables declaradas como constantes deben ir static final int totalmente en mayúsculas separando las palabras con un subguión ("_"). ANCHURA_MINIMA = 4; (Las constantes ANSI se deben evitar, para facilitar su depuración.) static final int Constantes ANCHURA_MAXIMA = 999; static final int COGER_LA_CPU = 1; Ing. María de Lourdes Loaiza, MSc. 31 Convenciones de nombres Tipos de Reglas para los nombres Ejemplos identificadores Excepto las constantes, todas las instancias y variables de clase o método empezarán con minúscula. Las palabras internas que lo forman (si son compuestas) empiezan con su primera letra en mayúsculas. Los nombres de variables no deben empezar con los caracteres subguión "_" o signo del dólar "$", aunque ambos están permitidos por el lenguaje. int i; char c; Variables Los nombres de las variables deben ser cortos pero con significado. La Float miAnchura; elección del nombre de una variable debe ser un mnemónico, designado para indicar a un observador casual su función. Los nombres de variables de un solo carácter se deben evitar, excepto para variables índices temporales. Nombres comunes para variables temporales son i, j, k, m, y n para enteros; c, d, y e para caracteres. Ing. María de Lourdes Loaiza, MSc. 32 Fuentes: Copyright 1995-1999 Sun Microsystems, Inc. All rights reserved. Used by permission. Adapted with permission from JAVA CODE CONVENTIONS. Copyright 1995- 1999 Sun Microsysytems, Inc. All rights reserved. Copyright 2001 www.javaHispano.com. Todos los derechos reservados. Otorgados derechos de copia y redistribución para uso interno y no comercial. Ing. María de Lourdes Loaiza, MSc. 33