Lädt...


🔧 Tentando Conquistar o Mundo da Programação: Dicas para Resolver Problemas


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Eai, cês tão bem?

Eu gosto muito de escrever sobre coisas que acabo vivenciando e pensando: E se eu fizer um post pra falar disso?

No meu trabalho, me deparo frequentemente com desafios que são bem comuns para quem está começando a explorar o mundo da programação. São aqueles obstáculos típicos que, de vez em quando, nos deixam um tanto desanimados na nossa jornada nesse universo meio "maluco" que é a programação.

Então, eu tô aqui hoje para conversarmos um pouco sobre essas situações e, quem sabe, eu consiga te dar uma mãozinha nessa jornada. :)

Dicas e Lembretes Essenciais 📝

  1. É perfeitamente normal ter dúvidas, seja quando você está aprendendo ou mesmo depois de algum tempo. Ter dúvidas simplesmente significa que existe algum conhecimento que ainda não foi adquirido. Portanto, não hesite em fazer perguntas e buscar esclarecimentos sempre que necessário.
  2. A aprendizagem muitas vezes requer repetição. Ver um conteúdo uma vez, duas vezes, ou até mesmo por vários dias seguidos não garante um conhecimento sólido sobre o assunto. É importante continuar praticando e revisando.
  3. Não se esqueça de valorizar os pequenos avanços. Às vezes, somos muito críticos conosco mesmos, especialmente quando tudo é novo, como foi para mim. Lembre-se de que cada passo é significativo e que todos eles contam.
  4. Evite comparar sua velocidade de aprendizado com a de outras pessoas, acredite em mim, não vale a pena e só gera frustração. Cada um tem seu próprio ritmo de aprendizado, e o importante é progredir de acordo com suas próprias metas e necessidades.

"Travei" num desafio/problema de programação. E agora? 🥶

Para tornar minha missão de ajudar a resolver seu desafio sem nem mesmo ver seu código mais eficaz, vou começar fazendo algumas perguntas:

Como você iniciou a resolução desse problema?

  • Comecei a codar sem dividir em partes e estou perdido, sem saber onde está o problema. 🤯
  • Dividi em partes e estou enfrentando um problema em uma etapa específica. 🤧

Se você escolheu a primeira alternativa, vamos começar dividindo seu problema em partes. Essa prática é muito útil; eu pessoalmente a utilizo muito. Pego uma folha de papel e escrevo tudo o que meu programa deveria fazer, só depois parto para o código.

Para ser mais assertiva, vou dar um exemplo de como podemos fazer isso:

Desafio: Calcular a Média de uma Lista de Números 🤓

Dividindo meu problema:

Definir o Objetivo: O objetivo é calcular a média de uma lista de números.

Entrada de Dados: Identificar a entrada necessária para o problema. Neste caso, é uma lista de números.

Processamento dos Dados: Dividir o problema em etapas menores:

  • Inicializar uma variável total como 0 para rastrear a soma dos números.
  • Usar um loop para percorrer a lista de números.
  • Adicionar cada número à variável total.
  • Calcular a média dividindo o total pelo número de elementos na lista.
  • Retornar o valor da média.

Saída de Dados: No final, você obtém a média dos números e a imprime na tela.

Aqui nós dividimos o problema em etapas menores e ajuda a organizar a resolução do problema de maneira mais eficaz. Cada etapa lida com uma parte específica do problema, tornando-o mais "gerenciável" e fácil de implementar.

Isso foi uma das formas que eu pensei em como resolver esse desafio, mas existem outras formas. :)

Tenta resolver o desafio e depois, se quiser me conta como foi!

Se você respondeu a segunda alternativa, vem comigo que eu vou tentar te ajudar:

  • Compreenda o problema: Certifique-se de entender completamente o problema antes de começar a escrever código.
  • Divida em partes: Divida o novo problema em partes menores e bem definidas.
  • Faça perguntas: Se estiver travado em uma parte, faça perguntas específicas para entender a dificuldade.
  • Pesquisa: Busque em recursos como documentação, tutoriais, para obter informações, use alguma das perguntas feitas no tópico acima para pesquisar no Google ou até mesmo usar nosso amigo chat GPT.
  • Pseudocódigo: Crie um pseudocódigo ou fluxograma para visualizar a lógica da solução.
  • Revisão: Explique sua abordagem lógica a alguém para identificar problemas, isso me ajuda MUITO. Eu converso até meio sozinha as vezes, rs. 😅
  • Testes: À medida que avança na resolução do problema, teste partes individuais do seu código e, sempre que possível, exiba as saídas na tela. Isso ajuda você verificar se cada parte do código funciona conforme o esperado e a identificar problemas mais cedo. Isso acontece bastante, quando achamos que uma variável está retornando um valor, mas na realidade, está nos surpreendendo com outro.
  • Depuração: Utilize ferramentas de depuração para rastrear o comportamento do programa.
  • Seja paciente: Todos enfrentam desafios, seja persistente e paciente.
  • Aprenda com os erros: Veja os desafios como oportunidades de aprendizado e crescimento profissional.

O livro 'Fomos Maus Alunos' traz uma reflexão muito interessante sobre o erro. Vou deixar um trecho desse livro aqui para finalizar este conteúdo. ❤️

Faz parte da aventura chegar e dizer: Estava errado. Vou dar um exemplo. Uma pessoa se dedica à exploração de cavernas. Há uma bifurcação. Não sabe qual delas seguir. Assim, vai na sorte. Depois de muito caminhar, chega a um beco sem saída. Aquele corredor da caverna não leva a lugar algum. Ela volta e escreve à entrada da bifurcação: Beco sem saída. Essa informação é importante? É conhecimento? Importantíssima para os outros que virão depois dela. Conhecimento de que aquele caminho vai dar em nada. Aquelas palavras lhes pouparão trabalho. Um doutorando se propõe fazer uma pesquisa. Pesquisa durante cinco anos. Ao final de cinco anos, verifica que todas as suas hipóteses estavam erradas. Para mim seria perfeitamente válido que ele escrevesse, como conclusão de sua tese: Depois de cinco anos de pesquisa verifiquei que todas as hipóteses estavam erradas. Isso é conhecimento.

Até a próxima e bons estudos!

Se você leu até o final reage com um 💟 se não, não precisa reagir :(.


Imagem com a logo da plataforma Buy Me a Coffee

...

🔧 Tentando Conquistar o Mundo da Programação: Dicas para Resolver Problemas


📈 194.62 Punkte
🔧 Programmierung

🔧 Dicas para iniciantes na programação:


📈 56.99 Punkte
🔧 Programmierung

🔧 Desenvolva suas habilidades de programação de forma divertida: 10 jogos para aprender programação


📈 55.02 Punkte
🔧 Programmierung

🔧 Certificações AWS: Quais as Melhores Estratégias para Conquistar Sua Certificação?


📈 48.28 Punkte
🔧 Programmierung

🔧 Dicas e truques: Ferramentas para produtividade para dev no Sistema operacional 🪟 Windows 11


📈 48.23 Punkte
🔧 Programmierung

🔧 Para te ajudar nesse caminho, preparei um guia completo com dicas valiosas para iniciantes na área:


📈 48.23 Punkte
🔧 Programmierung

🔧 Redefinindo horizontes: Minha transição para a tecnologia e dicas para novos navegantes


📈 48.23 Punkte
🔧 Programmierung

🔧 3 dicas para criar uma estratégia moderna de Testes para Microsserviços Spring Boot


📈 48.23 Punkte
🔧 Programmierung

🔧 Decorator: Personalize Seu Carro no Mundo da Programação 🚗🛠️


📈 43.38 Punkte
🔧 Programmierung

🔧 Programação Orientada a Objetos e Programação Funcional


📈 42.52 Punkte
🔧 Programmierung

🔧 Desvendando Mistérios: Como Tentar Resolver Problemas Sem Pedir Ajuda


📈 40.25 Punkte
🔧 Programmierung

🔧 Como Resolver Problemas com jsonPath("$") ao Usar Records no Java ❌😢


📈 40.25 Punkte
🔧 Programmierung

📰 “La georreferencia es una forma diferente de resolver problemas”


📈 40.25 Punkte
📰 IT Security Nachrichten

🔧 Será mesmo que NoSQL pode resolver seus problemas?


📈 40.25 Punkte
🔧 Programmierung

🔧 Será mesmo que NoSQL pode resolver seus problemas?


📈 40.25 Punkte
🔧 Programmierung

🔧 Dicas para ir bem em entrevistas de live coding


📈 35.74 Punkte
🔧 Programmierung

🔧 Dicas para escrever Tailwind CSS de forma limpa


📈 35.74 Punkte
🔧 Programmierung

🔧 10 Dicas para Pesquisar no Google como um Desenvolvedor Profissional


📈 35.74 Punkte
🔧 Programmierung

🔧 Acessibilidade digital - Dicas de NVDA para desenvolvedores web


📈 35.74 Punkte
🔧 Programmierung

🔧 Vue 3 para Iniciantes: Dicas que Gostaria de Ter Sabido ao Começar com a Composition API e TypeScript


📈 35.74 Punkte
🔧 Programmierung

🔧 18 dicas para se destacar como engenheiro de software


📈 35.74 Punkte
🔧 Programmierung

🔧 Dominando o Next.js: Dicas para Renderização do Lado do Servidor


📈 35.74 Punkte
🔧 Programmierung

🔧 Dicas e configurações para seu sistema linux


📈 35.74 Punkte
🔧 Programmierung

🔧 Rápido e Devagar: Dicas para Estimativas que Quase Dão Certo


📈 35.74 Punkte
🔧 Programmierung

🔧 Como Cultivar Empatia com os Colegas da Squad: Dicas para um Ambiente de Trabalho Saudável


📈 35.74 Punkte
🔧 Programmierung

🔧 Dicas para usar o Github como Portfólio


📈 35.74 Punkte
🔧 Programmierung

🔧 12 técnicas modernas de CSS para problemas de CSS mais antigos


📈 35.46 Punkte
🔧 Programmierung

🔧 Diagnóstico de AWS Lambda: Guía para detectar y solucionar problemas de rendimiento


📈 35.46 Punkte
🔧 Programmierung

🐧 Servirá para comenzar en el mundo de Linux?


📈 34.62 Punkte
🐧 Linux Tipps

🕵️ ISC BIND 9.6-esv-r9/9.8.5/9.9.3 Recursive Resolver resolver.c Zone Query denial of service


📈 34.59 Punkte
🕵️ Sicherheitslücken

📰 xResolver – Xbox Resolver and PSN Resolver with Gamertag IP Puller


📈 34.59 Punkte
📰 IT Security Nachrichten

🕵️ Knot Resolver up to 4.0.x DNS Resolver DNSSEC privilege escalation


📈 34.59 Punkte
🕵️ Sicherheitslücken

🕵️ Knot Resolver up to 4.0.x DNS Resolver DNSSEC privilege escalation


📈 34.59 Punkte
🕵️ Sicherheitslücken

🕵️ Knot Resolver up to 4.0.x DNS Resolver DNSSEC privilege escalation


📈 34.59 Punkte
🕵️ Sicherheitslücken

matomo