Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6bc830b98c05c15c5da0e1427fe3ae96 #19

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

robertaoo
Copy link

Descrição das soluções utilizadas.

Neste projeto de refatoração melhorei o projeto original, apliquei diversas práticas recomendadas de programação aprendidas em aula.
Aqui estão algumas das principais mudanças que fiz:

Nomenclatura -> Renomeei várias variáveis e métodos para torná-los mais autoexplicativos, reduzindo o numero de comentarios necessários para o entendimento do programa. Por exemplo, 'n_temp' (o que é isso? n do que? temp é temperatura?) foi renomeado para 'num_temporadas' e 'avaliacao' para 'adicionar_avaliacao'

Formatação -> Trabalhei na formatação do código para torná-lo mais legível. Como melhorar a indentação e adicionar mais espaços o que torna o código mais facil de ler.

Conceitos de OO ->Refatorei o código para melhor utilizar os conceitos de OO aprendidos em aula. Criamos duas novas subclasses 'Filme' e 'Serie' que herdam da classe abstrata 'Video'

Modularização -> Dividi o código em vários arquivos para tornar mais organizado e fácil de entender, o que facilita a adição de novas funções, manuntenção e trabalho em equipe. Por isso criei arquivos separadas para cada classe como 'Filme', 'Serie', 'Video' e 'Streaming'.

Redundância de Código -> No código original, a classe Video era usada pra representar tanto filmes quanto séries, o que era redundante, ja que os mesmos campos eram usados para duas categorias, mas interpretados de maneira diferente. Outra razão para separar em 'Filme' e 'Serie'

Uso de bibliotecas em exceso -> Antes o programa estava com bibliotecas em multiplos arquivos de forma desnecessária. Nesse código refatorado só usamos quando necessário. Por exemplo, foi retirado do main.cpp algumas bibliotecas que arquivos que ja estavam sendo incluidos utilizam.

Por fim, também criei as exceções (Tempo minimo para filme 50 minutos, série deve ter ao menos 2 episodios, nota entre 1 e 10) para garantir que recebam um aviso caso algum dos casos sejam desobedecidos.

@robertaoo
Copy link
Author

Percebi que não deletei o arquivo compilado afinal. Por favor, ignore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant