Convenciones de Código Java

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

¿Cuál es el porcentaje aproximado del costo del código de un programa que se destina a su mantenimiento?

  • 90%
  • 60%
  • 50%
  • 80% (correct)

Las convenciones de código no tienen ningún impacto en la velocidad con la que se entiende el nuevo código.

False (B)

La extensión para un archivo de código fuente Java es .______.

java

¿Cuál es la extensión de archivo utilizada para el bytecode de Java después de la compilación?

<p>.class (A)</p> Signup and view all the answers

¿Cuál es el número recomendado de espacios para usar como unidad de indentación en el código Java?

<p>cuatro</p> Signup and view all the answers

En Java, es aceptable que los tabuladores representen exactamente cada 4 espacios para la indentación.

<p>False (B)</p> Signup and view all the answers

¿Cuál es el número máximo recomendado de caracteres por línea en el código Java para mantener la legibilidad?

<p>80 (B)</p> Signup and view all the answers

Al romper una línea de código en Java, es preferible romper después de una ______.

<p>coma</p> Signup and view all the answers

Al romper líneas de código, siempre se debe indentar 4 espacios.

<p>False (B)</p> Signup and view all the answers

¿Cuál de las siguientes opciones describe mejor el propósito de los comentarios de implementación en Java?

<p>Comentar el código para el propio programador o para comentar sobre una implementacion especifica. (B)</p> Signup and view all the answers

¿Cuál es el delimitador utilizado para comentarios de una sola línea en Java?

<p>//</p> Signup and view all the answers

Si un comentario de una sola línea en Java no puede escribirse en una sola línea, debe usar el formato de comentarios de ______.

<p>bloque</p> Signup and view all the answers

Los comentarios de remolque deben ser movidos lo suficientemente lejos para separarlos de las declaraciones.

<p>True (A)</p> Signup and view all the answers

¿Cuál de las siguientes opciones describe mejor los comentarios de fin de línea en Java?

<p>Pueden convertir en comentario una línea completa o parte de ella. (A)</p> Signup and view all the answers

Relacione los siguientes tipos de comentario con su descripción correcta:

<p>Comentarios de bloque = Usados para descripciones de ficheros, métodos, estructuras de datos y algoritmos. Comentarios de una línea = Aparecen comentarios cortos de una única línea al nivel del código que siguen. Comentarios de remolque = Comentarios muy pequeños en la misma línea que describen. Comentarios de fin de línea = Delimitador de comentario que puede convertir en comentario una línea completa o una parte de una línea.</p> Signup and view all the answers

Se recomienda declarar múltiples variables en una sola línea en Java para facilitar los comentarios.

<p>False (B)</p> Signup and view all the answers

¿Cuál es la razón principal para inicializar las variables locales en el punto de declaración?

<p>Para facilitar la lectura del código y evitar cálculos innecesarios. (A)</p> Signup and view all the answers

En Java, se deben colocar las declaraciones solo al principio de los ______.

<p>bloques</p> Signup and view all the answers

Es aceptable declarar la misma variable en un bloque interno si tiene un propósito diferente al de la variable en el bloque externo.

<p>False (B)</p> Signup and view all the answers

¿Cuál de las siguientes reglas de formato se debe seguir al codificar clases e interfaces en Java?

<p>La llave de apertura '{' aparece al final de la misma línea de la sentencia declaracion (D)</p> Signup and view all the answers

En Java, ¿cuántas sentencias como máximo debe contener cada línea en el código?

<p>una</p> Signup and view all the answers

En las sentencias compuestas de Java, la llave de ______ debe ponerse al final de la línea que comienza la sentencia compuesta.

<p>apertura</p> Signup and view all the answers

En sentecias return, no se deben usar paréntesis a menos que hagan el valor de retorno más obvio de alguna manera.

<p>True (A)</p> Signup and view all the answers

¿Cuál es la forma correcta de escribir una declaración condicional de ternario?

<p>condición ? expresión_si_verdadero: expresión_si_falso (C)</p> Signup and view all the answers

En un interruptor de sentencias(switch statements) Java, ¿qué palabra clave se usa para detener que caiga en los siguientes casos?

<p>break</p> Signup and view all the answers

Un bucle Java for que no contiene ningún código en cuerpo o inicialización, la comprobación de condición, y la iteración se consideran un bucle ______.

<p>vacío</p> Signup and view all the answers

El operador "," se debe utilizar en la cláusula de inicialización para bucles for.

<p>False (B)</p> Signup and view all the answers

¿Cómo se deben separar las lineas de codigo lógicamente relacionadas?

<p>Con dos líneas en blanco (C)</p> Signup and view all the answers

En Java, ¿qué debe seguir a un bloque try-catch, cuya ejecución se realizará independientemente de si el bloque try de la sentencia se completa con éxito o no?

<p>finally</p> Signup and view all the answers

En Java, una palabra clave del lenguaje seguida por un paréntesis debe separarse por un ______.

<p>espacio</p> Signup and view all the answers

En Java, es válido usar un espacio entre el nombre de un método y su paréntesis de apertura.

<p>False (B)</p> Signup and view all the answers

¿Cuáles son los elementos o componentes de un prefijo el nombre de un paquete?

<p>Letras en ASCII <code>minúsculas</code> (B)</p> Signup and view all the answers

En Java, ¿cómo se definen si los nombres de las variables son de clase o método, excepto las constantes?

<p>minúscula</p> Signup and view all the answers

En Java, los nombres de las variables declaradas como constantes deben ir totalmente en ______.

<p>mayúsculas</p> Signup and view all the answers

Los Nombres de las variables de un solo carácter se deben usar, excepto para variables índices temporales.

<p>False (B)</p> Signup and view all the answers

Relacione las siguientes reglas de nombres de identificadores en Java con sus descripciones correctas:

<p>Clases = Deben ser sustantivos, cuando son compuestos tendrán la primera letra de cada palabra que lo forma en mayúsculas. Métodos = Deben ser verbos, cuando son compuestos tendrán la primera letra en minúscula, y la primera letra de las siguientes palabras que lo forma en mayúscula. Variables = Las instancias y variables de clase o método empezarán con minúscula.</p> Signup and view all the answers

Flashcards

¿Extensión del código fuente en Java?

Los programas Java usan ".java" para el código fuente.

¿Extensión del bytecode en Java?

Los programas Java usan ".class" para el bytecode.

¿Cuántos espacios para indentar?

Emplea cuatro espacios como unidad de indentación para mejorar la legibilidad del código.

¿Longitud máxima de una línea?

Evita líneas de más de 80 caracteres para asegurar la compatibilidad con terminales y herramientas.

Signup and view all the flashcards

¿Dónde romper líneas largas?

Rompe líneas después de una coma para mejorar la legibilidad.

Signup and view all the flashcards

¿Qué roturas usar antes?

Prefiere roturas de alto nivel al romper líneas largas.

Signup and view all the flashcards

¿Delimitadores de comentarios de implementación?

Los comentarios de implementación delimitan con /.../ y //.

Signup and view all the flashcards

¿Delimitadores de comentarios de documentación?

Los comentarios de documentación se limitan por /**...*/.

Signup and view all the flashcards

¿Qué son los comentarios de bloque?

Usados para descripciones de ficheros y algoritmos. Deben ser indentados al mismo nivel que el código que describen.

Signup and view all the flashcards

¿Qué son los comentarios de una línea?

Comentarios cortos que comentan una sola linea al nivel del codigo que siguen.

Signup and view all the flashcards

¿Qué son los comentarios de remolque?

Cortos comentarios en la misma línea que el código pero suficientemente lejos para separarlos.

Signup and view all the flashcards

¿Qué son los comentarios de fin de línea?

Se puede convertir en comentario una línea completa o parte de ella.

Signup and view all the flashcards

¿Declaraciones por línea?

Se recomienda una declaración por línea, ya que facilita los comentarios.

Signup and view all the flashcards

¿Cuando inicializar variables?

Intentar inicializar las variables locales donde se declaran.

Signup and view all the flashcards

¿Dónde declarar variables?

Poner las declaraciones solo al principio de los bloques.

Signup and view all the flashcards

¿Dónde abrir una llave?

La llave de apertura "{" aparece al final de la misma línea de la sentencia declaración.

Signup and view all the flashcards

¿Dónde cerrar una llave?

La llave de cierre “}” empieza una nueva línea indentada para ajustarse a su sentencia de apertura correspondiente.

Signup and view all the flashcards

¿Sentencias por línea?

Cada línea debe contener como mucho una sentencia. Ejemplo: argv++;

Signup and view all the flashcards

¿Siempre usar llaves?

Las llaves se usan en todas las sentencias, incluso las simples.

Signup and view all the flashcards

¿Paréntesis en 'return'?

Una sentencia 'return' con un valor no debe usar paréntesis, a menos que hagan el valor de retorno más obvio de alguna manera.

Signup and view all the flashcards

¿Llaves en sentencias 'if'?

Las sentencias 'if' usan siempre llaves {}.

Signup and view all the flashcards

¿Qué es Condicional Ternario?

Permite tomar decisiones en una sola línea: condición ? valor_si_verdadero : valor_si_falso

Signup and view all the flashcards

¿Qué considerar con 'switch'?

Si un caso se propaga, añadir un comentario donde el 'break' estaría. Cada 'switch' debe tener un 'default'.

Signup and view all the flashcards

¿Qué forma debe tener una sentencia 'for'?

La siguiente forma: for (inicializacion; condicion; actualizacion) { sentencias; }

Signup and view all the flashcards

¿Qué forma debe tener una sentencia 'while'?

La siguiente forma: while (condicion) { sentencias; }

Signup and view all the flashcards

¿Qué es una sentencia 'do-while'?

Sentencia do-while: do { sentencias; } while (condicion);

Signup and view all the flashcards

¿Cuál es la forma de 'try-catch'?

Tiene la siguiente forma: try { sentencias; } catch (ExceptionClass e) { sentencias; }

Signup and view all the flashcards

¿Dónde usar dos líneas en blanco?

Usar siempre dos líneas en blanco entre secciones y entre definiciones de clases e interfaces.

Signup and view all the flashcards

¿Dónde usar una línea en blanco?

Usar una línea en blanco entre métodos, variables locales y comentarios.

Signup and view all the flashcards

¿Espacio después de palabra clave?

Una palabra clave seguida por un paréntesis debe separarse por un espacio.

Signup and view all the flashcards

¿Espacios en operadores?

Se deben separar de sus operandos con espacios en blanco, excepto los operadores unarios.

Signup and view all the flashcards

¿Cómo nombrar variables?

Comienzan con minúscula y siguen el camelCase.

Signup and view all the flashcards

¿Cómo nombrar clases?

Deben ser sustantivos con la primera letra de cada palabra en mayúscula.

Signup and view all the flashcards

¿Cómo nombrar constantes?

Van totalmente en mayúsculas, separando palabras con un subguión.

Signup and view all the flashcards

¿Cómo nombrar métodos?

Deben ser verbos, con la primera letra en minúscula y siguiendo camelCase.

Signup and view all the flashcards

Study Notes

Importancia de las Convenciones de Código

  • Las convenciones de código mejoran la legibilidad del software.
  • Facilitan la comprensión rápida y exhaustiva de código nuevo.
  • Aproximadamente el 80% del costo del código de un programa se destina a su mantenimiento.
  • Resultan esenciales para la distribución de código fuente como producto.
  • Es imprescindible que cada persona que escribe software las siga.

Extensiones de Ficheros Java

  • Fuente Java utiliza la extensión .java.
  • Bytecode de Java utiliza la extensión .class.

Indentación y Longitud de Línea

  • Se deben emplear cuatro espacios como unidad de indentación.
  • Los tabuladores deben ser cada 8 espacios, y no 4.
  • Evitar líneas de más de 80 caracteres debido a la mala gestión por terminales y herramientas.
  • En la documentación, las líneas no deben superar los 70 caracteres.

Ruptura de Líneas al Indentar

  • Al romper una expresión que no cabe en una línea, hacerlo después de una coma.
  • Es preferible romper antes de un operador.
  • Utilizar roturas de alto nivel, más a la derecha que el "padre", en lugar de bajo nivel.
  • Alinear la nueva línea con el comienzo de la expresión al nivel de la línea anterior.
  • Si las reglas anteriores generan código confuso, usa 8 espacios de indentación.

Ejemplos de Indentación al Romper Líneas

  • Ejemplo de declaración de métodos:
unMetodo(expresionLarga1, expresionLarga2, expresionLarga3,
         expresionLarga4, expresionLarga5);
  • Ejemplo preferido de ruptura de líneas en expresiones aritméticas:
nombreLargo1 = nombreLargo2 * (nombreLargo3 + nombreLargo4
                                 - nombreLargo5) + 4 * nombreLargo6; // PREFERIDA

Otros ejemplos de indentación

  • Ejemplo de indentación de declaraciones de métodos (convencional):
unMetodo (int anArg, Object anotherArg, String yetAnotherArg,
         Object andStillAnother) {
    ...
}
  • Ejemplo de indentación de declaraciones de métodos (8 espacios adicionales):
private static synchronized metodoDeNombreMuyLargo (int unArg,
         Object otroArg, String todavíaOtroArg,
         Object unOtroMas) {
    ...
}

Indentación en Sentencias Condicionales (if)

  • Al saltar líneas en sentencias if, seguir la regla de los 8 espacios.
  • La indentación convencional (4 espacios) dificulta la visualización del cuerpo del condicional.
  • No utilizar la primera forma de indentación presentada, prefiriendo la segunda o tercera.

Comentarios en Java

  • Java soporta dos tipos de comentarios: de implementación y de documentación.
  • Los de implementación también se encuentran en C++, delimitados por /*...*/ y //.
  • Los de documentación, exclusivos de Java, usan la notación /**...*/ y se exportan a HTML con Javadoc.
  • Los de implementación son para comentar código o detalles de una implementación específica.
  • Los de documentación describen la especificación del código, independientemente de la implementación.
  • No se deben encerrar en grandes cuadrados dibujados con asteriscos.
  • No deben incluir caracteres especiales como backspace.

Formatos de Comentarios de Implementación

  • Hay cuatro estilos: de bloque, de una línea, de remolque y de fin de línea.

  • Los comentarios de bloque se usan para dar descripciones de ficheros, métodos, estructuras de datos y algoritmos.

  • Los comentarios de bloque se pueden usar al comienzo de un fichero o antes de un método.

  • Se pueden escribir en otro lugares, tales como el interior de los métodos, deben ser indentados al mismo nivel que el código que describen.

  • Deben estar precedidos por una línea en blanco.

  • Formato de comentario de bloque:

/*
- Aquí hay un comentario de bloque.
- /
  • Los comentarios de una sola línea comentan código al nivel del código que siguen
if (condicion) {

    /* Código de la condición. */
}
  • En los comentarios de remolque: incluir comentarios muy pequeños en la misma línea que describen, pero lo suficientemente separadas de las sentencias.
if (a == 2) {
    return TRUE;  /* caso especial */
} else {
    return isPrime(a); /* caso general */
}
  • Comentario de fin de línea, el delimitador es //, puede convertir una linea en comentario.
if (foo > 1) {
    // Hacer algo.
}

Declaraciones: Cantidad y Tipos

  • Es preferible una declaración por línea, facilitando los comentarios.
int nivel; // nivel de indentación
int tam;  // tamaño de la tabla
  • En lugar de:
int level, size;
  • No se deben declarar diferentes tipos en la misma línea.

Inicialización y Colocación de Variables

  • Es recomendable inicializar las variables locales donde se declaran.
  • La única razón para no hacerlo es si el valor inicial depende de cálculos que deben ocurrir.
  • Las declaraciones deben estar al principio de los bloques de código (entre llaves).
 for (int i = 0; i < maximoVueltas; i++) { ... }
  • Excepción: los índices de bucles for se pueden declarar en la sentencia for.
  • Evitar declaraciones locales que ocultan declaraciones de niveles superiores.

Declaración de Clases e Interfaces

  • No debe haber espacio en blanco entre el nombre de un método y el paréntesis de su lista de parámetros.
  • La llave de apertura { aparece al final de la línea de declaración.
  • La llave de cierre } comienza una nueva línea indentada para ajustarse a su sentencia de apertura.
  • Si no existen sentencias entre las llaves, la llave de cierre } debe aparecer inmediatamente después de la de apertura {.
  • Los métodos se separan con una línea en blanco.

Sentencias Simples y Compuestas

  • Cada línea debe contener como mucho una sentencia.
  • Las sentencias compuestas deben tener listas de sentencias encerradas entre llaves { sentencias }
  • Las sentencias encerradas deben indentarse un nivel más que la sentencia compuesta.
  • La llave de apertura se pone al final de la línea que comienza la sentencia compuesta.
  • La llave de cierre empieza una nueva línea y se indentan al mismo nivel que la compuesta.
  • Usar llaves en todas las sentencias, incluso las simples, cuando forman parte de una estructura de control.

Sentencias de Retorno

  • La sentencia return con un valor no debe usar paréntesis, a menos que hagan el valor de retorno más obvio:
return;
return miDiscoDuro.size();
return (tamanyo ? tamanyo : tamanyoPorDefecto);

Sentencias Condicionales (if, if-else, if else-if else)

  • Las sentencias condicionales deben tener una de las siguientes formas (siempre con llaves):
if (condicion) {
  sentencias;
}

if (condicion) {
  sentencias;
} else {
  sentencias;
}

if (condicion) {
  sentencia;
} else if (condicion) {
   sentencia;
} else {
   sentencia;
}
  • Se deben usar siempre llaves en las sentencias if, evitando la forma propensa a errores:

Condicional Ternario

  • Permite tomar decisiones en una sola línea, como alternativa corta al if-else.

  • El formato es: condición ? expresión_si_verdadero : expresión_si_falso;

  • Ejemplo:

int edad = 25;
String msg = (edad >= 18) ? "Mayor de edad" : "Menor de edad";
System.out.println(msg);
  • Componentes:
  1. La condición a evaluar (expresión booleana).
  2. El valor/expresión si la condición es verdadera.
  3. El valor/expresión si la condición es falsa.

Sentencia Switch

  • La sentencia switch debe tener el siguiente formato:
switch (condicion) {
    case ABC:
        sentencias;
        /* este caso se propaga */
    case DEF:
        sentencias;
        break;
    case XYZ:
        sentencias;
        break;
    default:
        sentencias;
        break;
}
  • Siempre comentar cada caso que se propaga, se debe añadir la sentencia break aunque sea redundante.

Sentencias de Repetición (for, while, do-while)

  • For:
for (inicializacion; condicion; actualizacion) {
 sentencias;
}
  • For vacío (si el trabajo se realiza en las cláusulas):
for (inicializacion; condicion; actualizacion);
  • While:
while (condicion) {
 sentencias;
}
  • Do While:
do {
 sentencias;
} while (condicion);

Sentencias Try-Catch

  • Format:
try {
 sentencias;
} catch (ExceptionClass e) {
 sentencias;
}
  • La sentencia Try se puede se seguir de finally:
  try {
    sentencias;
  } catch (ExceptionClass e) {
    sentencias;
  } finally {
 sentencias;
  }

Líneas en Blanco

  • Mejoran la facilidad de lectura separando secciones de código relacionadas lógicamente.
  • Debe usar dos entre las secciones de un fichero fuente, las definiciones de clases e interfaces.
  • Se usa una entre métodos, las variables locales de un método y su primera sentencia, antes de un comentario de bloque y entre las secciones lógicas de un método.

Espacios en Blanco

  • Deben ser usados después de las palabras clave del lenguaje seguido por un parentesis.
  • Notar que no se debe usar un espacio en blanco entre el nombre de un método y su paréntesis de apertura (esto ayuda a distinguir palabras claves de llamadas a métodos).
  • Debe aparecer un espacio en blanco después de una coma en las listas de argumentos
  • Todos los operadores binarios se deben separar de sus operandos con espacio en blanco.

Convenciones de Nombres

  • Hacen los programas más entendibles.
  • Util en la funcion de un identificador, ejemplo: Cuando es una constante, un paquete o una case.
  • Los prefijos de los paquetes deben empezar en minuscula ASCII.
  • Los nombres de las clases deben ser sustantivos, deben usar palabras completas, evitar acrónimos y abreviaturas.
  • Los métodos deben ser verbos, verbos + sustantativos.
  • Los nombres de las variables declaradas como constantes deben ir totalmente en mayúsculas separando las palabras con un subguión.
  • Excepto las constatntes, todas las instancias y variables de clase o método empezarán con minúscula. Los nombres de variables no deben empezar con los caracteres subguión "_" o signo del dólar "$".
  • Los nombres de las variables deben ser cortos pero con significado. Los nombres de variables, en caso de ser temporal, deben ser i, j, k, m, y n para enteros.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Java All Units Quiz
6 questions

Java All Units Quiz

EntertainingMonkey avatar
EntertainingMonkey
Java Coding Dash: Simple Calculator
39 questions
User-Defined Classes in Java
38 questions
Use Quizgecko on...
Browser
Browser