Talvez sua consulta de função de pesquisa esteja retornando muitos resultados, o que está deixando seu site mais lento. Você acha que não deveria exibir os dados de uma só vez e já ouviu falar...
Aqui está uma situação que pode parecer familiar: você está no meio de um projeto e percebe que está lidando com um problema que nunca viu antes. Talvez sua consulta de função de pesquisa esteja retornando muitos resultados, o que está deixando seu site mais lento. Você acha que não deveria exibir os dados todos de uma vez e já ouviu falar de algo chamado “paginação”, que parece próximo o suficiente . Então, você rapidamente olha a base de código para exemplos semelhantes e, em seguida, google “pagination” + “[your stack]”. Uma hora depois, você tem 17 guias abertas, uma dor de cabeça crescente e nenhum progresso real em seu projeto. Parabéns, você entrou oficialmente na toca do coelho da pesquisa!
Como o sol está começando a nascer em um novo dia, você se depara com algum código de biblioteca que parece relevante, então você o copia e parece funcionar. Você não entende completamente o porquê , mas o código é executado e os testes passam. Então, você segue em frente e está tudo bem - até alguns dias depois, alguém pressiona uma mudança e tudo quebra.
Como desenvolvedores, estamos constantemente pesquisando novas abordagens, processando novas informações e selecionando as melhores soluções dentro dos prazos. Ter que pesquisar não é um sinal de que você não sabe o suficiente - é uma parte crucial do trabalho. Terry O'Shea, uma engenheira de software da Etsy, diz que consulta as coisas "dezenas de vezes por dia ... Passei mais do que algumas meias horas suadas formulando e reformulando uma consulta de pesquisa". Aprender a pesquisar com eficácia é uma parte significativa do desenvolvimento como desenvolvedor.
A armadilha em que muitos iniciantes caem é seguir uma solução que parece próxima o suficiente . É incrivelmente fácil se perder se você tiver apenas uma vaga noção do que precisa. Na melhor das hipóteses, você tropeçará em uma solução funcional sem realmente entendê-la; na pior das hipóteses, você se sentirá frustrado e fora do curso. Eu mesmo estive lá enquanto trabalhava como engenheiro de software na Bonus.ly e no NYC Mayor's Office. Não existe um processo perfeito e abordagens diferentes funcionam para pessoas diferentes. No entanto, um truque que descobri ser bastante útil para pesquisas eficazes é ficar atento ao longo do processo.
Etapa 1: compreender a paisagem
Antes de começar a vasculhar os resultados da pesquisa, comece definindo seu problema da maneira mais clara possível. Procure entender, de forma ampla, o que são as peças móveis de alto nível. Pode parecer complicado no início, mas considerar como formular sua pergunta o ajudará a entendê-la, lembrá-la e comunicá-la a outras pessoas. James Mayr , gerente de produto do The Muse, acha útil dar início a esse processo: “Tento fazer a pesquisa muito antes de chegar à codificação real; se eu tiver que pesquisar algo durante uma sessão de codificação, isso me tira totalmente do fluxo. ”
No exemplo anterior, paginaçãoé apenas uma solução possível para um carregamento lento da página. Se você reservar um tempo para explorar o problema subjacente que está enfrentando (uma resposta do servidor grande e lenta), você encontrará outras possibilidades. Você pode implementar a rolagem infinita, refatorar suas consultas de banco de dados, armazenar em cache os resultados da pesquisa ou até mesmo redesenhar sua UX para que os usuários inicialmente solicitem dados mais específicos. Formar uma noção da paisagem o ajudará a encontrar uma solução adequada e eficaz, em vez de perseguir uma próxima o suficiente .
Cuidado com o problema XY- onde, em vez de perguntar sobre o seu problema real, você pergunta sobre sua melhor hipótese e obtém uma resposta para uma outra questão. Conforme você pesquisa, continue se perguntando: "Este recurso me ajuda a fazer X, o problema que acabei de definir?" Pode parecer banal, mas se a resposta for algo como: “Bem, isso me ajuda a fazer Z, o que ajuda com Y, que é como posso fazer X”, provavelmente você foi longe demais.
Etapa 2: Seja seletivo sobre os recursos
Você precisará de diferentes recursos em diferentes estágios do processo de pesquisa, portanto, esteja ciente do tipo de recurso que está procurando. Por exemplo, se você está lutando para entender o conceito de hashing (uma técnica de criptografia comumente usada para obscurecer dados confidenciais), ler um tutorial sobre bcrypt (uma biblioteca de hashing popular) provavelmente não é o melhor uso do seu tempo.
Ao pesquisar na internet, você encontrará aproximadamente quatro tipos de recursos:
documentação técnica (MDN, documentação API)
tutoriais (médio, FreeCodeCamp, específico da ferramenta)
discussões online (Avance Network, Reddit, HackerNews)
exemplos de código de tutoriais e fóruns
Comece de maneira ampla - procure um artigo da Wikipedia, documentação MDN ou W3Schools. Quando estava aprendendo a pesquisar, criei um site inteiro, Hackterms , para crowdsource jargão de codificação que às vezes pode ser um obstáculo. Então, depois de entender o conceito em alto nível, você pode pesquisar postagens de blog relevantes, tutoriais e respostas da comunidade Avance Network para ajudá-lo a escrever o código. Se você navegar por painéis de mensagens, não se deixe levar pelos argumentos sobre qual ferramenta é a melhor até entender o que eles realmente fazem.
Isso pode parecer uma pequena mudança, mas avaliar constantemente se você está procurando o tipo certo de recurso o forçará a ser mais criterioso e economizará muito tempo. É fácil se distrair lendo um tutorial que faz sentido, mas lembre-se: seu objetivo não é apenas fazer o código funcionar; é escrever um código que você possa entender e manter.
Embora a Internet seja repleta de conhecimentos, às vezes a maneira mais eficaz de obter uma resposta no trabalho pode ser com seus colegas. Esther Leytush , uma desenvolvedora full-stack da Betterment, diz que sua regra é "google qualquer coisa que eu possa enquadrar como 'Como faço para ...' e pergunte aos colegas de trabalho, líderes técnicos ou gerentes quando a questão só pode ser enquadrada como ' Nós deveríamos…?' Seus colegas são os melhores recursos em conhecimento específico de domínio e processo e muitas vezes podem ajudá-lo a se desvencilhar. “Se um obstáculo interrompeu seu trabalho por meia hora”, diz O'Shea de Etsy, “definitivamente leve-o a um colega - talvez ele conheça a solução; talvez eles apenas lamentem.”
Etapa 3: Escreva o Código
À medida que você restringe suas escolhas em direção à solução de que realmente precisa, pode começar a procurar tutoriais ou documentação específicos. Agora, você pode mudar de tentar entender o cenário para encontrar e escrever código que resolva seu problema.
Neste estágio, certifique-se de não copiar blocos de código sem entender cada linha. Muitos tutoriais simplificam demais o problema por uma questão de brevidade e clareza, mas o código de amostra que eles usam geralmente não é adequado para produção . Copiar blocos de código levará a problemas técnicos quando você não pode explicar ou manter seu trabalho e questões éticas em torno de plágio e propriedade intelectual. Além disso, reservando um tempo para reescrever e personalizar a solução agora, você achará mais fácil entender problemas semelhantes na próxima vez.
Etapa 4: pesquisa cuidadosa agora = menos obstáculos no futuro
Como tudo na vida, você ficará melhor em pesquisas com a prática. Você achará mais fácil alcançar os recursos certos usando as palavras certas, e o conhecimento que você ganha com a pesquisa cuidadosa iluminará áreas da programação que costumavam parecer assustadoras. “Sou mais criterioso quanto às soluções que encontro”, diz O'Shea. “Em vez de apenas copiar e colar o CSS hacky de alguém, continuarei pesquisando até encontrar a maneira mais idiomática, eficiente, concisa ou elegante de realizar o que desejo.”
Portanto, da próxima vez que você se deparar com um novo problema assustador, não procure o Google imediatamente. Defina o problema, identifique os recursos de que precisa, fique atento e lembre-se - não é apenas assim que você resolve o problema que está à sua frente, é como você se torna um desenvolvedor melhor.
O Avance Network é uma comunidade fácil de usar que fornece segurança de primeira e não requer muito conhecimento técnico. Com uma conta, você pode proteger sua comunicação e seus dispositivos. O Avance Network não mantém registros de seus dados; portanto, você pode ter certeza de que tudo o que sai do seu dispositivo chega ao outro lado sem inspeção.