Você resolve dar carona para um colega do trabalho, no caminho a conversa começa a fluir
e você não percebe o caminho que está fazendo. Como você está acostumado
a dirigir, você consegue dirigir e segue conversando, porém, nesse momento você entrará num estado chamado de piloto automático.
Seu cérebro irá induzi-lo a fazer um caminho que você já conhece e que está acostumado, um caminho que você conhece muito bem.
Mas qual o problema de entrar nesse modo piloto automático ?
E por que entramos nesse modo ?
Porque você não PAROU, não PENSOU no que ia fazer, não pensou ONDE queria chegar, COMO faria pra chegar e nem QUAL rota seria a mais ideal para chegar no destino.
Tá, mas o que isso tem a ver com a maneira que eu desenvolvo meus programas ou na maneira que executo meu trabalho no dia à dia ? Tudo!!
Somos tentados ao longo do dia a ligar esse modo "piloto automático", afinal de contas, assim como quando dirigimos, estamos acostumados a fazer nosso trabalho, muitas tarefas já são velhas conhecidas pelo nosso cérebro.
Mas qual o problema disso ?
O problema está na evolução do nosso conhecimento, na assimilação de novas habilidades, no aprendizado de algo novo, na concentração e na qualidade do nosso trabalho.
Onde trabalho usamos o Banco de Dados SQL Server se você é desenvolvedor já deve ter feito um select na vida.
Imagine que você se depare com a seguinte situação:
Preciso desativar os clientes que não fizeram nenhuma compra nos últimos seis meses.
No modo piloto automático faríamos de cara :
update Cliente set status = 'Inativo' where DataUltimaCompra < '2017-09-02'
Há uma grande chance de ligar o modo piloto automático para executar essa tarefa, pois se trata de uma tarefa simples e corriqueira. Sem pensar muito vamos lá e escrevemos o código.
Mas o que há de errado em sair escrevendo o código ?
where que você usou no update irá realmente alterar os registros que você espera, fazendo com que você talvez altere campos que não gostaria;Mas então, como devemos encarar essa tarefa? Como desligar o modo piloto automático e por o cérebro para funcionar ?
Tenha em mente O QUE deseja fazer.
Depois que você souber o que você quer:
Faça a leitura na sua mente do comando que irá executar:
ALTERAR a TABELA de cliente ATUALIZANDO o campo STATUS com valor de 'INATIVO' QUANDO o Campo Data de última compra for anterior a 02-09-2017
Rode um select antes para confirmar se irá alterar os clientes esperados.
SELECT * from cliente Where DataUltimaCompra < '2017-09-02'
Tem certeza que são esses registros que quer alterar? Então comece a escrever o UPDATE.
UPDATE cliente SET status = 'Inativo' where DataUltimaCompra < '2017-09-02'
Legal, mas qual a vantagem de seguir essa linha de raciocínio ?
Percebo que os que estão começando as vezes sentem medo de executar certas tarefas.
Não é preciso ter medo, é preciso PENSAR!
Para casos mais complexos ainda poderia adicionar uma camada extra de segurança, abrir uma transação para garantir o resultado esperado.
begin tran cliente
UPDATE cliente SET status = 'Inativo' where DataUltimaCompra < '2017-09-02'
se estiver ok:
commit tran cliente
senão:
rollback tran cliente
As vezes para tarefas mais simples ligamos o piloto automático, assim como o caminho que fazemos pra casa.
Mas tenha isso em mente quando for fazer qualquer tarefa, antes de mais nada:
- PLANEJE!
- PENSE!
- AVALIE O MELHOR CAMINHO!
Bom, Espero que de alguma forma isso possa ajudar a você no seu dia à dia, ou no trabalho.
Não tenha preguiça de pensar, tenha o controle do seu Cérebro! Pense antes de agir!
Meu nome é Renato Silvestre, sou Desenvolvedor Front-end e Back-end na Novalis Tecnologia, Freelancer nas horas vagas e Biker nos deslocamentos diários.