
De um tradutor: Hoje publicamos para você
um artigo da desenvolvedora iniciante Amy Haddad. Explica por que os programadores devem retornar aos problemas já resolvidos.
Muitos desenvolvedores dão o mesmo conselho: resolva o maior número possível de problemas para obter constantemente novas experiências e conhecimentos. Esse é um bom conselho, pois a solução de problemas com o código permite aprender coisas novas e aprimorar as habilidades existentes. Mas também considero importante repetir: o mesmo problema pode ser resolvido de maneiras diferentes. E essa repetição também permite que o programador obtenha lucro na forma de melhorar as habilidades.
A Skillbox recomenda: um curso prático de dois anos, "Sou um desenvolvedor Web PRO" .
Lembramos que: para todos os leitores de "Habr" - um desconto de 10.000 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".
Sabe o que eu não sei
Se eu consegui resolver o problema pela primeira vez, isso não significa que posso lidar com isso novamente.
Lembro-me da situação com uma biblioteca e um erro nela. Consegui resolver esse problema, embora tenha ficado preso por um longo tempo. Poucos dias depois, novamente encontrei o mesmo problema e já esqueci a solução inicial. Então, em vez de deslizar rapidamente por esse lugar e seguir em frente, você teve que gastar tempo novamente.
Então ficou claro para mim que eu precisava trabalhar mais com operadores e funções condicionais. Eu também percebi o quão importante é o estudo dos problemas - isso me permite testar meu próprio conhecimento e ver as lacunas que precisam ser preenchidas.
Trabalhar com código de buggy oferece uma nova experiência, conforme discutido acima. É ótimo que eu possa resolver o problema com as aulas no momento em que as estudo. Nesse caso, tudo parece bem simples. Mas e se isso acontecer comigo no futuro próximo? Nesse caso, poderei entender se adquiri novos conhecimentos adquiridos anteriormente ou se vale a pena consolidá-los.
Problemas antigos, novas soluções
Mesmo quando lembro de minhas ações ao trabalhar em uma tarefa pela primeira vez, na segunda tento encontrar uma nova solução para melhorar minhas habilidades. Por exemplo, resolvi um dos problemas no código usando o Loop. Na segunda vez, encontrei uma nova solução e o código se tornou mais lógico e legível. Consegui reduzir o volume em 50% na área problemática e, como resultado, compreendi não apenas como tudo deveria funcionar, mas também descobri as nuances do processo.
Em outra tarefa semelhante, o Loop reduziu o código e o tornou mais legível. Mas como parte da "repetição", resolvi o problema sem ele - para garantir que encontrasse uma solução alternativa.
Posso dizer que o estudo dos problemas me tirou da minha zona de conforto, então comecei a pensar fora da caixa. Somente por isso foi possível encontrar uma solução alternativa.
Aprendendo a escrever testes
Esta é minha terceira vez lendo um livro de Brian Hogan Exercises for Programmers. Analiso seus exemplos e sempre que tento encontrar uma nova solução. Desta vez eu pratico escrevendo meus próprios testes.
Eis como funciona: seleciono um exercício aleatório de um livro e sento para codificar. Dividi o programa resultante em vários arquivos, onde cada um é responsável por uma solução separada. E então eu escrevo testes.
No final, quero aprender a escrever um teste primeiro e depois o código, mas isso ainda está por vir. Agora estou praticando a criação e o destaque de funções e a importação de arquivos.
A repetição constante de exercícios permite criar padrões que são depositados na cabeça. Além disso, eles podem ser usados como um modelo mental para resolver novos problemas. A propósito, vi esse conselho no livro de George Paul, Como resolvê-lo. Ele aconselha na solução de um novo problema para buscar uma conexão com qualquer experiência existente.
“Pense no que o ajudou em uma situação semelhante no passado. Procure algo familiar no problema atual, tente usar sua experiência. "
Paulo está certo. Realmente utilizo a experiência anterior para resolver problemas de um novo tipo. Por exemplo, trabalhou recentemente com anagramas. Consegui resolver um dos problemas atuais com a ajuda da experiência adquirida então. Apesar de a tarefa anterior ser mais simples, foi possível encontrar uma nova solução.
Estudar problemas fornece ao programador muitas coisas úteis. Formulamos novos conceitos, fortalecemos os antigos e criamos uma base de conhecimento, que forma a base do trabalho.
A Skillbox recomenda: