Praticando com exercícios.
Bom, recentimente optei por colocar em prática parte do que venho estudando, e uma boa opção foi fazer exercícios em sites como por exemplo: leetcode | exercism.org, dentre outros parecidos. Uma coisa que notei foi a dificuldade que tenho as vezes de interpretar as questões ou os problemas alí propostos para se resolver, vezes que boa parte dos códigos em sí precisam ser feitos/escritos de maneira correta e não as vezes só ser funcional, mas sim bem codado, se esta for a forma correta de dizer haha, gostaria de saber oque posso fazer a respeito neste caso, como posso melhorar neste quesito.
As vezes até consigo pensar em uma solução para o problema, mas o dificil é conseguir pensar à uma maneira de tornar aquilo em codigo, bem estruturado e tals. Oque posso fazer?
Primeiro concentre-se em resolver o problema da forma como você consegue. A elegância é obtida apenas com mais prática e o domínio de diferentes conceitos, principalmente estruturas de dados e a maneira de trabalhar com elas.
Outra dica é, depois de resolver uma série de problemas (vamos dizer, 50 problemas diferentes), volte ao primeiro e veja se tem algo que você melhoraria ou faria diferente. Sempre tem algo que nos chama a atenção quando voltamos a códigos antigos.
Mais uma dica: concentre-se em aprender as seguintes estruturas de dados:
- Lista
- Fila
- Pilha
- Árvore
- Binária de Busca
- B*
- Grafo
- Tupla
- Dicionário
Pelo que entendi do seu ponto e já notei de colegas meus com essas dificuldades. 1- Costuma ser uma dificuldade de abstrair o problema e partir eles em menores. Tenta sempre exercitar sem codigo nenhum, exemplo: Quero fazer um site pessoal de portifolio que tenha modo noturno etc. preciso: de foto minha, exibir meus projetos, um evento para adicionar modo noturno, preciso colocar meus contatos (pode ter mais coisa mas to só encurtando pra tentar explicar) Bom, se tenho foto imagino que terei no meu codigo 'img', preciso listar meus projetos entao acho que teria um 'ul e os li', um evento? Javascript sendo uma função que sera chamada após o usuário fazer algo, talvez um button, onclick? 2- Colocar a carroça na frente dos bois. Tenta sempre resolver seu maior problema primeiro, com a experiência algumas coisas começarão a ser mais automáticas. Seu maior problema é fazer o codigo funcionar, resolveu, agora senta e tenta melhorar o código. Se você tá começando, sabe que nao é bacana umas dezenas de if's dentro de um loop e voce para sua resolucao pra resolver isso, pode ser que nem precisava desse loop muito menos do if mas voce demorou a perceber isso porque queria deixar o codigo mais bonito. Entao faz funcionar, resultados todos esperados, agora voce embeleza. Espero que dê pra entender e te ajude isso.