Dica 16: a linguagem certa!

Uma pergunta bem recorrente durante as lives foi sobre qual a melhor linguagem de programação para se aprender. Apesar da forte sugestão para que se inicie com JavaScript, devido a ser uma linguagem mais amigável, ter uma comunidade muito forte e atuante, bastante conteúdo gratuito disponível e ampla aceitação no mercado… Como estava dizendo, apesar disso tudo, é preciso que você se faça a pergunta: que problema quero resolver?
Cada linguagem consegue suportar de forma mais eficiente do que outra estruturas que vão servir de solução para problemas levantados. O que se quer desenvolver é que dita a linguagem a ser escolhida. Então, por vezes, você pode estar trabalhando em um determinado projeto que demande conhecimentos sobre outras linguagens, que se adequam melhor ao que tem de ser feito.
O importante, portanto, é ter os fundamentos, a base, a lógica de programação. Com ela, você consegue aprender qualquer linguagem, pois sabe como quebrar o problema em pequenas partes e como solucionar cada uma. Tanto é assim, que muitas pessoas aprendem lógica de programação usando pseudo-linguagens, como o Portugol. Ninguém vai programar em Portugol, ele apenas serve para se colocar na prática o raciocínio da lógica de programação.
Então, antes de partir para aprender qualquer linguagem, foque na lógica de programação, construa uma base sólida que suporte a edificação do seu conhecimento.
Assunto estudado hoje: Exercício da Dell.
Hoje, passei o dia todo quebrando a cabeça para resolver o exercício que deixo proposto abaixo. Eu quis fazer modificações de acesso, por questões de segurança, também estou me esforçando ao máximo para deixar um código limpo. Enfim, acho que ainda vou passar algumas horas da próxima semana nessa atividade. Tem coisa melhor do que passar o domingo codando? Desconheço.
Este exercício foi retirado do curso da Dell :
Nesta oficina iremos fazer algo semelhante ao que foi demonstrado no tópico de implementação da webaula, no entanto, faremos isso em um contexto mais específico: Conta Bancária. Neste cenário, temos diferentes regras de negócio que podem ser implementadas, como saque, depósito e verificação do saldo. Também temos diferentes objetos para serem manipulados. Cada aplicação tem suas próprias regras, que devem ser bem distribuídas no padrão MVC.
O intuito é implementar um projeto que contenha os três pacotes deste padrão:
- com.mvc.modelo;
- com.mvc.visao;
- com.mvc.controlador;
Cada pacote terá sua responsabilidade respectiva conforme o padrão MVC. O contexto se passa em uma situação de controle de fluxo das transações bancárias, ou seja, vamos aplicar as regras de negócio referentes ao fluxo de caixa, entrada e saída. A fim de simplificar nosso código, apenas iremos realizar dois tipos de transações, que estarão presentes em métodos da classe controlador:
- Débito (retirada de dinheiro na conta bancária pessoal do usuário);
- Crédito (adicionamento de dinheiro na conta bancária pessoal do usuário).
Na classe controlador teremos dois métodos que irão receber as transações de crédito e débito, ambos deverão impactar diretamente na variável saldoAtual da conta e retornar um valor boolean caso a operação tenha sido bem-sucedida ou não. São eles:
- public boolean creditarValor(double valor, int numeroConta, int agencia);
- public boolean debitarValor(double valor, int numeroConta, int agencia);
Dentro do pacote Modelo criaremos a classe: ContaBancaria que terá os seguintes atributos, com seus respectivos métodos getters e setters:
- private double saldoAtual = 0.0;
- private String nomePessoa = “”;
- private String cpf = “”;
- private int numeroConta;
- private int agencia;
Em nossa classe Visão teremos uma função main que instancia o objeto controlador e requisita sequencialmente uma ação de crédito e outra de débito por meio do fluxo de regra definido no padrão MVC.
Após realizar esses passos, execute sua função main da classe Visão e escreva no console o resultado do saldoAtual da contaBancaria em cada transação.