Algunos tags de Javadoc:
@author
{@docRoot}
@deprecated
@exception
{@inheritDoc}
{@link}
{@linkplain}
@param
@return
@see
@serial
@serialData
@serialField
@since
@throws
{@value}
@version
Introducción al Curso
Bienvenidos al Curso Avanzado de Java SE
Clases avanzadas
Clases Abstractas
Implementando clases abstractas al proyecto
Ejercicio. Clases Abstractas
Implementando métodos abstractos en Java
JavaDocs
Qué es JavaDocs
Implementando JavaDocs al proyecto
Reto
JavaDocs tags para herencia e interfaces
Generado Java Docs
Clases Anidadas
Clases anidadas y tipos
Ejercicio. Clases Anidadas
Implementando una clase anidada al proyecto
Instanciando clases estáticas anidadas
Enumerations
Interfaces Avanzadas
Métodos con implementación métodos default y private
Creando Interfaz DAO con métodos default y private
Ejercicio. Interfaz DAO
Diferencia Interfaces y Clases Abstractas
Herencia en Interfaces
Colecciones Avanzadas
Map, HashMap, TreeMap y LinkedHashMap
Excepciones
Manejo de errores
Try-catch-finally / Try-with-resources
JDBC
Definición y composición del API
Ejercicio. JDBC API
Creando la base de datos y conectando el proyecto con MySQL
Generando conexión a la base de datos y creando clase de constantes
Sentencia SELECT en Java
Sentencia SELECT con Parámetros
Sentencia INSERT en Java
Reto: Reporte por fecha
Lambdas
¿Cómo resolver el reto: reporte por fecha?
Interfaces funcionales
Programación Funcional
Lambdas
Ejercicio. Lambdas
Lambdas como variables y Recursividad
Stream y Filter
Predicate y Consumer
Fin del Curso
Conclusión del curso
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
Anahí Salgado Díaz de la Vega
Aportes 35
Preguntas 1
Algunos tags de Javadoc:
@author
{@docRoot}
@deprecated
@exception
{@inheritDoc}
{@link}
{@linkplain}
@param
@return
@see
@serial
@serialData
@serialField
@since
@throws
{@value}
@version
Creo que deben hacer una actualizacion urgente de este tema de java se avanzado
¿Cómo vivir sin esta vaina?
Interesante java lleva los comentarios a otro nivel
En este vídeo me di cuenta que el método makeChaptersList no lo tenía definido para que recibiera parámetros
El peor curso, Java lo estan dejando demasiado de lado
<!-- Este es un comentario en HTML -->
Acá les dejo una imagen de los colores que maneja el IDE IntelliJ, que utiliza color gris para los comentarios de linea y bloque; y color verde para la documentación:
La documentación de tu código debe formar parte del desarrollo, una buena documentación siempre ayudara a otros(incluso a ti) entender como funciona una aplicación.
No avance hasta corregir lo de poner la serie como vista, pensando que yo tenia algo mal.
Y lo primero de este vídeo es que aquí lo corrigen.
😮
Una buena estructura a seguir para javadoc :)
<code>//Soy un comentario:)</code>
Muy bueno java doc para documentar el código.
Y le puedes meter bootstrap a la documentación? :v
✅
En resumen, lo que se usa:
// Comentario de una sola linea
/* Comentario de mas de una linea hasta que termine en -> */
Ademas:
@author: Nombre del autor.
@version: Versión del método o clase.
@param: Definición de un parámetro de un método
@return: Informa de lo que devuelve el método
@exception: Excepción lanzada por el método @throws
excelente explicación!!!
Good.!!
Ejemplo de codigo en javadocs
</**
* @param args the command line arguments
*/>
Muy bueno!
Javadoc es una utilidad de Oracle para la generación de documentación de APIs en formato HTML a partir de código fuente Java. Javadoc es el estándar de la industria para documentar clases de Java.
Javadoc es una utilidad de Oracle para la generación de documentación de APIs en formato HTML a partir de código fuente Java.
Genial
Main.
package com.pucese.amazonviewer;
import com.pucese.amazonviewer.model.Book;
import com.pucese.amazonviewer.model.Chapter;
import com.pucese.amazonviewer.model.Film;
import com.pucese.amazonviewer.model.Magazine;
import com.pucese.amazonviewer.model.Movie;
import com.pucese.amazonviewer.model.Serie;
import com.pucese.makereport.Report;
import java.util.*;
import java.io.IOException;
import java.text.*;
public class Main
{
public static void main(String[] args)
{
showMenu();
}
public static void showMenu()
{
int exit= 0;
do {
System.out.println("BIENVENIDOS A AMAZON VIEWER");
System.out.println(" ");
System.out.println("SELECCIONE EL NUMERO DE LA OPCION DESEADA");
System.out.println("1. Movies");
System.out.println("2. Series");
System.out.println("4. Books");
System.out.println("5. Magazines");
System.out.println("6. Report");
System.out.println("7. Report Today");
System.out.println("0. Exit");
//leer la respuesta del usuario
Scanner op = new Scanner(System.in);
int opcion = op.nextInt();
switch (opcion)
{
case 1:
showMovies();
break;
case 2:
showSeries();
break;
case 3:
//showChapters( );
break;
case 4:
showBooks();
break;
case 5:
showMagazines();
break;
case 6:
makeReport();
break;
case 7:
makeReport(new Date());
break;
case 0:
System.out.println("Salir del sistema");
exit=0;
break;
default:
System.out.println("Opción no disponible");
break;
}
}while(exit !=0);
}
static ArrayList<Movie> movies =Movie.makeMoviesList();
public static void showMovies()
{
int exit=1;
do {
System.out.println();
System.out.println(":: MOVIES::");
System.out.println();
for (int i = 0; i < movies.size(); i++)
{
System.out.println(i+ 1+ "-->"+"." + movies.get(i).getTitle()+ "-->"+"Visto -->" +movies.get(i).isViewed());
}
System.out.println("0. Regresar al Menu");
System.out.println();
//Leer respuesta de usuario
Scanner op = new Scanner(System.in);
int response=Integer.valueOf(op.nextLine());
if(response==0)
{
exit=0;
showMenu();
break;
}
if(response>0)
{
Movie movieSelected= movies.get(response-1);
movieSelected.view();
}
} while (exit !=0);
}
static ArrayList<Serie> series =Serie.makeSeriesList();
public static void showSeries()
{
int exit=1;
do {
System.out.println();
System.out.println(":: SERIES::");
System.out.println();
for (int i = 0; i < series.size(); i++)
{
System.out.println(i+ 1+ "-->"+"." + series.get(i).getTitle()+ "-->"+"Visto -->" +series.get(i).isViewed());
}
System.out.println("0. Regresar al Menu");
System.out.println();
Scanner op = new Scanner(System.in);
int response=Integer.valueOf(op.nextLine());
if(response==0)
{
exit=0;
showMenu();
break;
}
showChapters(series.get(response-1).getChapters());
} while (exit !=0);
}
static ArrayList<Book> books =Book.makeBookList();
public static void showBooks()
{
int exit=1;
do {
System.out.println();
System.out.println(":: BOOKS::");
System.out.println();
for (int i = 0; i < books.size(); i++)
{
System.out.println(i+ 1+ "-->"+"." + books.get(i).getTitle()+ "-->"+"Leido -->" +books.get(i).isReaded());
}
System.out.println("0. Regresar al Menu");
System.out.println();
Scanner op = new Scanner(System.in);
int response=Integer.valueOf(op.nextLine());
if(response==0)
{
exit=0;
showMenu();
break;
}
if(response>0)
{
Book bookSelected= books.get(response-1);
bookSelected.view();
}
} while (exit !=0);
}
public static void showChapters(ArrayList<Chapter> chaptersOfSerieSelected )
{
int exit=1;
do {
System.out.println();
System.out.println(":: CHAPTERS::");
System.out.println();
for (int i = 0; i < chaptersOfSerieSelected.size(); i++)
{
System.out.println(i+ 1+ "-->"+"." + chaptersOfSerieSelected.get(i).getTitle()+ "-->"+"Visto -->" +chaptersOfSerieSelected.get(i).isViewed());
}
System.out.println("0. Regresar al Menu");
System.out.println();
Scanner op = new Scanner(System.in);
int response=op.nextInt();
if(response==0)
{
exit=0;
showMenu();
break;
}
if(response>0)
{
Chapter chapterSelected= chaptersOfSerieSelected.get(response-1);
chapterSelected.view();
}
} while (exit !=0);
}
static ArrayList<Magazine> magazines =Magazine.makeMagazineList();
public static void showMagazines()
{
int exit=1;
do {
System.out.println();
System.out.println(":: MAGAZINES::");
System.out.println();
for (int i = 0; i < magazines.size(); i++)
{
System.out.println(i+ 1+ "-->"+"." + magazines.get(i).getTitle());
}
System.out.println("0. Regresar al Menu");
System.out.println();
Scanner op = new Scanner(System.in);
int response=Integer.valueOf(op.nextLine());
if(response==0)
{
exit=0;
showMenu();
}
} while (exit !=0);
}
public static void makeReport()
{
System.out.println(":: REPORT::");
Report report=new Report();
report.setNameFile("reporte");
report.setExtension("txt");
report.setTitle("::Vistos::");
String contentReport="";
for (Movie movie:movies )
{
if(movie.getIsViewed())
{
contentReport +=movie.toString() + "\n";
}
}
for (Serie serie : series) {
ArrayList<Chapter> chapters = serie.getChapters();
for (Chapter chapter : chapters) {
if (chapter.getIsViewed()) {
contentReport += chapter.toString() + "\n";
}
}
}
for (Book book : books) {
if (book.getIsReaded()) {
contentReport += book.toString() + "\n";
}
}
report.setContent(contentReport);
try {
report.makeReport();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Reporte Generado");
System.out.println();
}
public static void makeReport (Date date)
{
SimpleDateFormat df= new SimpleDateFormat("yyyy-MM-dd");
String dateString=df.format(date);
Report report=new Report();
report.setNameFile("reporte"+dateString);
report.setExtension("txt");
report.setTitle("::Vistos::");
String contentReport="";
for (Movie movie:movies )
{
if(movie.getIsViewed())
{
contentReport +=movie.toString() + "\n";
}
}
for (Serie serie : series) {
ArrayList<Chapter> chapters = serie.getChapters();
for (Chapter chapter : chapters) {
if (chapter.getIsViewed()) {
contentReport += chapter.toString() + "\n";
}
}
}
for (Book book : books) {
if (book.getIsReaded()) {
contentReport += book.toString() + "\n";
}
}
report.setContent(contentReport);
try {
report.makeReport();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Reporte Generado");
System.out.println();
}
}
Chapter
package com.pucese.amazonviewer.model;
import java.util.ArrayList;
import java.util.Date;
public class Chapter extends Movie implements IVisualizable
{
private int id;
private int sessionNumber;
private Serie serie;
public Chapter(String title, String genre, String creator, int duration, short year, int sessionNumber,Serie serie)
{
super(title, genre, creator, duration, year);
this.setSessionNumber(sessionNumber);
this.serie=serie;
// TODO Auto-generated constructor stub
}
public Serie getSerie() {
return serie;
}
public void setSerie(Serie serie) {
this.serie = serie;
}
@Override
public int getId() {
// TODO Auto-generated method stub
return this.id;
}
public int getSessionNumber()
{
return sessionNumber;
}
public void setSessionNumber(int sessionNumber)
{
this.sessionNumber = sessionNumber;
}
public String toString()
{
// TODO Auto-generated method stub
return "Title:" +getTitle() +
"\nGenero:" + getGenre() +
"\n Year: " +getYear() +
"\n Creator:"+ getCreator()+
"\n Duration:" +getDuration()
;
}
public static ArrayList<Chapter> makeChaptersList(Serie serie)
{
ArrayList<Chapter> chapters= new ArrayList();
for (int i = 1; i <= 5; i++)
{
chapters.add(new Chapter("Capitulo"+i,"Genero"+i, "Creador"+i, 45, (short)(2014+i),i,serie));
}
return chapters;
}
@Override
public void view()
{
// TODO Auto-generated method stub
super.view();
ArrayList<Chapter> chapters= getSerie().getChapters();
int chapterViwedCounter=0;
for (Chapter chapter : chapters)
{
if(chapter.getIsViewed())
{
chapterViwedCounter++;
}
}
if(chapterViwedCounter==chapters.size())
{
getSerie().view();
}
}
}
Book
package com.pucese.amazonviewer.model;
import java.awt.datatransfer.DataFlavor;
import java.util.ArrayList;
import java.time.LocalDate;
import java.time.ZonedDateTime;
import java.awt.datatransfer.DataFlavor;
import java.util.ArrayList;
import java.util.Date;
import javax.xml.crypto.Data;
public class Book extends Publication implements IVisualizable
{
private int id;
private String isbn;
private boolean readed;
private int timeReaded;
public Book(String title,Date edititionDate, String editorial,String[] authors)
{
super(title, edititionDate, editorial);
// TODO Auto-generated constructor stub
setAuthors(authors);
}
public int getId() {
return id;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public boolean getIsReaded() {
return readed;
}
public void setReaded(boolean readed) {
this.readed = readed;
}
public int getTimeReaded() {
return timeReaded;
}
public void setTimeReaded(int timeReaded) {
this.timeReaded = timeReaded;
}
public String isReaded()
{
String leido = "";
if(readed == true) {
leido = "Sí";
}else {
leido = "No";
}
return leido;
}
@Override
public String toString()
{
// TODO Auto-generated method stub
String detailBook= "\n :: BOOK ::" +
"\n Title:" + getTitle() +
"\n Editorial:" + getEditorial() +
"\n Edition Date:" + getEdititionDate() +
"\n Authors:" ;
for (int i = 0; i < getAuthors().length; i++)
{
detailBook +="\n" + getAuthors()[i];
}
return detailBook;
}
public static ArrayList<Book> makeBookList()
{
ArrayList<Book> books = new ArrayList();
Date dateA=new Date();
String[] authors = new String[2];
for (int i = 0; i < 2; i++)
{
authors[i] = "author "+i;
}
for (int i = 1; i <= 5; i++)
{
books.add(new Book("Book " + i,dateA , "editorial " + i, authors));
}
return books;
}
/*public void stopToSee(Date dateI,Date dateF)
{
if (dateF.getTime() > dateI.getTime()) {
setTimeReaded((int)(dateF.getTime() - dateI.getTime()));
}else {
setTimeReaded(0);
}
}*/
@Override
public Date startToSee(java.util.Date dateI) {
// TODO Auto-generated method stub
return dateI;
}
@Override
public void stopToSee(Date dateI, Date dateF)
{
// TODO Auto-generated method stub
if (dateF.getTime() > dateI.getTime()) {
setTimeReaded((int)(dateF.getTime() - dateI.getTime()));
}else {
setTimeReaded(0);
}
}
public void view()
{
setReaded(true);
Date dateI=startToSee(new Date());
for (int i = 0; i < 100000; i++)
{
System.out.println(".............");
}
//Terminar de Leer Libro
stopToSee(dateI, new Date());
System.out.println();
System.out.println("Viste:---> " +toString());
System.out.println("Por:---> " + getTimeReaded()+"--> milisegundos");
}
}
Serie
package com.pucese.amazonviewer.model;
import java.util.ArrayList;
public class Serie extends Film
{
private int id;
private int sessionQuantity;
private ArrayList<Chapter> chapters;
//Constructor
public Serie(String title, String genre, String creator, int duration,int sessionQuantity)
{
super(title, genre, creator, duration);
this.sessionQuantity=sessionQuantity;
// TODO Auto-generated constructor stub
}
public int getId() {
return id;
}
public int getSessionQuantity() {
return sessionQuantity;
}
public void setSessionQuantity(int sessionQuantity) {
this.sessionQuantity = sessionQuantity;
}
public ArrayList<Chapter> getChapters() {
return chapters;
}
public void setChapters(ArrayList<Chapter> chapters) {
this.chapters = chapters;
}
public String toString()
{
// TODO Auto-generated method stub
return "Title:" +getTitle() +
"\nGenero:" + getGenre() +
"\n Year: " +getYear() +
"\n Creator:"+ getCreator()+
"\n Duration:" +getDuration()
;
}
public static ArrayList<Serie> makeSeriesList()
{
ArrayList<Serie> series= new ArrayList();
for (int i = 1; i <= 5; i++)
{
Serie serie = new Serie("Serie"+i,"Genero"+i, "Creador"+i, 120, 5+i);
serie.setChapters(Chapter.makeChaptersList(serie));
series.add(serie);
}
return series;
}
@Override
public void view()
{
// TODO Auto-generated method stub
setViewed(true);
}
}
Buena explicación de los JavaDocs
Muy buena información que desconocía
javadoc --> documentacion(HTML) que nos informa de los componentes de nuestro código.
Excelente
Muy bueno.
muy buena clase
Super 😃
Genial.
Genial, casí nunca tenemos nada de documentación. 😕
Muchas gracias por explicar la manera de hacer comentarios e añadir documentación instructora Anahí, esto nos permitirá tener más organizado nuestro proyecto para presentárselo a otros programadores o nosotros mismo cuando estemos mejorándolo.
Realizar comentarios a tu código adecuadamente puede significar tu paso de Junior a Senior, y si demás desarrolladores quieran trabajar contigo ❤️
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?