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

Aluno #153 #153

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Aluno #153 #153

wants to merge 1 commit into from

Conversation

fabiohcc
Copy link

O código foi refatorado da seguinte forma:

  • Criei os arquivos .cpp para as classes Encomenda, EncomendaNormal e EncomendaRelampago para ocultar a implementação.

  • Alterei os modificadores de acesso de todas as classes para privado, exceto para a classe Encomenda, onde utilizei protegido devido à utilização de herança.

  • Transportei os método “calcula” e “print” para a classe Encomenda, pois ambas as classes EncomendaNormal e EncomendaRelampago utilizam esses métodos - não há a necessidade de polimorfismo nesse caso.

  • Na classe Encomenda criei um atributo privado chamado “taxa”, que é um modificador a ser aplicado no custo total. Dessa forma, o método se torna universal, não sendo a necessidade de redefinição nas classes filhas.

  • Em termos de nomenclatura, adotei o padrão de separar palavras através do caractere “_”. Isso torna as classes mais legíveis e facilita buscas no código, justamente por fornecer maior previsibilidade - o que favorece a manutenibilidade do código.

  • Por fim, em todos os métodos que não modificavam os atributos da classe foi aplicado o modificador “const”. Isso evita alterações indevidas por erro do programador. Exemplos de métodos nos quais essa abordagem foi utilizada: “calculate” (classe Encomenda) e “print” (classes Encomenda e Cliente).

@douglasmacharet douglasmacharet changed the title 2019026133 - Fabio Hayashi da Cruz Correa Aluno #153 Mar 15, 2021
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