Podcast
Questions and Answers
¿Cuál es el porcentaje aproximado del costo del código de un programa que se destina a su mantenimiento?
¿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.
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 .______.
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?
¿Cuál es la extensión de archivo utilizada para el bytecode de Java después de la compilación?
¿Cuál es el número recomendado de espacios para usar como unidad de indentación en el código Java?
¿Cuál es el número recomendado de espacios para usar como unidad de indentación en el código Java?
En Java, es aceptable que los tabuladores representen exactamente cada 4 espacios para la indentación.
En Java, es aceptable que los tabuladores representen exactamente cada 4 espacios para la indentación.
¿Cuál es el número máximo recomendado de caracteres por línea en el código Java para mantener la legibilidad?
¿Cuál es el número máximo recomendado de caracteres por línea en el código Java para mantener la legibilidad?
Al romper una línea de código en Java, es preferible romper después de una ______.
Al romper una línea de código en Java, es preferible romper después de una ______.
Al romper líneas de código, siempre se debe indentar 4 espacios.
Al romper líneas de código, siempre se debe indentar 4 espacios.
¿Cuál de las siguientes opciones describe mejor el propósito de los comentarios de implementación en Java?
¿Cuál de las siguientes opciones describe mejor el propósito de los comentarios de implementación en Java?
¿Cuál es el delimitador utilizado para comentarios de una sola línea en Java?
¿Cuál es el delimitador utilizado para comentarios de una sola línea en Java?
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 ______.
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 ______.
Los comentarios de remolque deben ser movidos lo suficientemente lejos para separarlos de las declaraciones.
Los comentarios de remolque deben ser movidos lo suficientemente lejos para separarlos de las declaraciones.
¿Cuál de las siguientes opciones describe mejor los comentarios de fin de línea en Java?
¿Cuál de las siguientes opciones describe mejor los comentarios de fin de línea en Java?
Relacione los siguientes tipos de comentario con su descripción correcta:
Relacione los siguientes tipos de comentario con su descripción correcta:
Se recomienda declarar múltiples variables en una sola línea en Java para facilitar los comentarios.
Se recomienda declarar múltiples variables en una sola línea en Java para facilitar los comentarios.
¿Cuál es la razón principal para inicializar las variables locales en el punto de declaración?
¿Cuál es la razón principal para inicializar las variables locales en el punto de declaración?
En Java, se deben colocar las declaraciones solo al principio de los ______.
En Java, se deben colocar las declaraciones solo al principio de los ______.
Es aceptable declarar la misma variable en un bloque interno si tiene un propósito diferente al de la variable en el bloque externo.
Es aceptable declarar la misma variable en un bloque interno si tiene un propósito diferente al de la variable en el bloque externo.
¿Cuál de las siguientes reglas de formato se debe seguir al codificar clases e interfaces en Java?
¿Cuál de las siguientes reglas de formato se debe seguir al codificar clases e interfaces en Java?
En Java, ¿cuántas sentencias como máximo debe contener cada línea en el código?
En Java, ¿cuántas sentencias como máximo debe contener cada línea en el código?
En las sentencias compuestas de Java, la llave de ______ debe ponerse al final de la línea que comienza la sentencia compuesta.
En las sentencias compuestas de Java, la llave de ______ debe ponerse al final de la línea que comienza la sentencia compuesta.
En sentecias return, no se deben usar paréntesis a menos que hagan el valor de retorno más obvio de alguna manera.
En sentecias return, no se deben usar paréntesis a menos que hagan el valor de retorno más obvio de alguna manera.
¿Cuál es la forma correcta de escribir una declaración condicional de ternario?
¿Cuál es la forma correcta de escribir una declaración condicional de ternario?
En un interruptor de sentencias(switch statements) Java, ¿qué palabra clave se usa para detener que caiga en los siguientes casos?
En un interruptor de sentencias(switch statements) Java, ¿qué palabra clave se usa para detener que caiga en los siguientes casos?
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 ______.
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 ______.
El operador "," se debe utilizar en la cláusula de inicialización para bucles for
.
El operador "," se debe utilizar en la cláusula de inicialización para bucles for
.
¿Cómo se deben separar las lineas de codigo lógicamente relacionadas?
¿Cómo se deben separar las lineas de codigo lógicamente relacionadas?
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?
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?
En Java, una palabra clave del lenguaje seguida por un paréntesis debe separarse por un ______.
En Java, una palabra clave del lenguaje seguida por un paréntesis debe separarse por un ______.
En Java, es válido usar un espacio
entre el nombre de un método y su paréntesis de apertura.
En Java, es válido usar un espacio
entre el nombre de un método y su paréntesis de apertura.
¿Cuáles son los elementos o componentes de un prefijo el nombre de un paquete
?
¿Cuáles son los elementos o componentes de un prefijo el nombre de un paquete
?
En Java, ¿cómo se definen si los nombres de las variables son de clase o método, excepto las constantes?
En Java, ¿cómo se definen si los nombres de las variables son de clase o método, excepto las constantes?
En Java, los nombres de las variables declaradas como constantes deben ir totalmente en ______.
En Java, los nombres de las variables declaradas como constantes deben ir totalmente en ______.
Los Nombres de las variables de un solo carácter se deben usar, excepto para variables índices temporales.
Los Nombres de las variables de un solo carácter se deben usar, excepto para variables índices temporales.
Relacione las siguientes reglas de nombres de identificadores en Java con sus descripciones correctas:
Relacione las siguientes reglas de nombres de identificadores en Java con sus descripciones correctas:
Flashcards
¿Extensión del código fuente en Java?
¿Extensión del código fuente en Java?
Los programas Java usan ".java" para el código fuente.
¿Extensión del bytecode en Java?
¿Extensión del bytecode en Java?
Los programas Java usan ".class" para el bytecode.
¿Cuántos espacios para indentar?
¿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?
¿Longitud máxima de una línea?
Signup and view all the flashcards
¿Dónde romper líneas largas?
¿Dónde romper líneas largas?
Signup and view all the flashcards
¿Qué roturas usar antes?
¿Qué roturas usar antes?
Signup and view all the flashcards
¿Delimitadores de comentarios de implementación?
¿Delimitadores de comentarios de implementación?
Signup and view all the flashcards
¿Delimitadores de comentarios de documentación?
¿Delimitadores de comentarios de documentación?
Signup and view all the flashcards
¿Qué son los comentarios de bloque?
¿Qué son los comentarios de bloque?
Signup and view all the flashcards
¿Qué son los comentarios de una línea?
¿Qué son los comentarios de una línea?
Signup and view all the flashcards
¿Qué son los comentarios de remolque?
¿Qué son los comentarios de remolque?
Signup and view all the flashcards
¿Qué son los comentarios de fin de línea?
¿Qué son los comentarios de fin de línea?
Signup and view all the flashcards
¿Declaraciones por línea?
¿Declaraciones por línea?
Signup and view all the flashcards
¿Cuando inicializar variables?
¿Cuando inicializar variables?
Signup and view all the flashcards
¿Dónde declarar variables?
¿Dónde declarar variables?
Signup and view all the flashcards
¿Dónde abrir una llave?
¿Dónde abrir una llave?
Signup and view all the flashcards
¿Dónde cerrar una llave?
¿Dónde cerrar una llave?
Signup and view all the flashcards
¿Sentencias por línea?
¿Sentencias por línea?
Signup and view all the flashcards
¿Siempre usar llaves?
¿Siempre usar llaves?
Signup and view all the flashcards
¿Paréntesis en 'return'?
¿Paréntesis en 'return'?
Signup and view all the flashcards
¿Llaves en sentencias 'if'?
¿Llaves en sentencias 'if'?
Signup and view all the flashcards
¿Qué es Condicional Ternario?
¿Qué es Condicional Ternario?
Signup and view all the flashcards
¿Qué considerar con 'switch'?
¿Qué considerar con 'switch'?
Signup and view all the flashcards
¿Qué forma debe tener una sentencia 'for'?
¿Qué forma debe tener una sentencia 'for'?
Signup and view all the flashcards
¿Qué forma debe tener una sentencia 'while'?
¿Qué forma debe tener una sentencia 'while'?
Signup and view all the flashcards
¿Qué es una sentencia 'do-while'?
¿Qué es una sentencia 'do-while'?
Signup and view all the flashcards
¿Cuál es la forma de 'try-catch'?
¿Cuál es la forma de 'try-catch'?
Signup and view all the flashcards
¿Dónde usar dos líneas en blanco?
¿Dónde usar dos líneas en blanco?
Signup and view all the flashcards
¿Dónde usar una línea en blanco?
¿Dónde usar una línea en blanco?
Signup and view all the flashcards
¿Espacio después de palabra clave?
¿Espacio después de palabra clave?
Signup and view all the flashcards
¿Espacios en operadores?
¿Espacios en operadores?
Signup and view all the flashcards
¿Cómo nombrar variables?
¿Cómo nombrar variables?
Signup and view all the flashcards
¿Cómo nombrar clases?
¿Cómo nombrar clases?
Signup and view all the flashcards
¿Cómo nombrar constantes?
¿Cómo nombrar constantes?
Signup and view all the flashcards
¿Cómo nombrar métodos?
¿Cómo nombrar métodos?
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:
- La condición a evaluar (expresión booleana).
- El valor/expresión si la condición es verdadera.
- 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.