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

291d1a96a2b543023beefe6f99b6f249 #17

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

Conversation

Gabrielaguna
Copy link

@Gabrielaguna Gabrielaguna commented Nov 19, 2023

Algumas modificações foram propostas a seguir, elas foram baseadas na refatoração, melhorando a qualidade do código,
assim como a manipulação da memória, preservando todas as funcionalidades do programa. As decisões foram baseadas
em boas práticas de programação.

  • Toda a identação do código foi padronizada, com uma identação por escopo, pois não havia uniformidade no código
    anteriormente.

  • Modularização: Todos os arquivos foram separados em headers e implementação, pois antes a implementação e a
    especificação estavam unidas. Agora a especificação está em arquivos *.hpp e a implementação em *.cpp.

  • Todos os atributos das classes foram alterados para o escopo privado da classe, garantindo o princípio do
    encapsulamento. O atributo “saldo” referente a classe “ContaBancaria”, foi o único a ser alterado para protected, pois
    classes que herdavam de ContaBancaria precisava de acesso irrestrito ao atributo para implementar suas próprias regras
    de negócio, entretanto, ainda foi preservado o encapsulamento.

  • Foram criados construtores para preencher os atributos (privados) das “contas bancárias”, pois não faria sentido
    instanciar qualquer uma dessas classes sem esses atributos.

  • Como agora os atributos são privados, a main foi alterada para instanciar os objetos via construtor com parâmetros,
    passando todas as informações direto no construtor.

  • Inclusão do operador “this” para referenciar métodos e atributos da classe, deixando a legibilidade do código melhor.

  • Na classe “ContaBancaria” foram adicionados gets para os atributos saldo e titular, pois era preciso o acesso a esses
    atributos na conta “Banco”. Os setters não foram criados, pois não havia necessidade nesse código e adicionar
    getters/setter sem necessidade é uma má prática.

  • Alteração do padrão de escrita, agora todo o projeto está de acordo com o padrão CamelCase, onde os atributos e
    métodos começam com letras minusculas, as classes com letras maiúsculas e palavras compostas são separadas por uma
    letra maiúscula.

  • Foi inserido o destrutor da classe Banco, com o objetivo de liberar a memória no heap, a qual era usada para armazenar as contas bancárias, em um vetor da classe.

@Gabrielaguna Gabrielaguna changed the title refatoração 291d1a96a2b543023beefe6f99b6f249 Nov 19, 2023
@Gabrielaguna Gabrielaguna reopened this Nov 19, 2023
@Gabrielaguna Gabrielaguna reopened this Nov 19, 2023
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.

2 participants