ChatGPT, para desenvolvedores
O ChatGPT, ferramenta de linguagem natural criada pela OpenAI, pode ser um grande aliado para profissionais de engenharia de software que desejam aprimorar suas habilidades. Este artigo mostrará alguns exemplos práticos de uso do ChatGPT para auxiliar no desenvolvimento de software. Com sua facilidade de uso e recursos de personalização, o ChatGPT pode contribuir para melhorar o desempenho dos engenheiros de software.
Acessando o ChatGPT
Basta entrar no endereço https://chat.openai.com/chat e criar uma conta. Você pode utilizar um usuário e senha, ou sua conta Google ou Microsoft.
Esta conta preservará o histórico de suas conversas para que você possa acessá-las posteriormente em outra sessão. Porém, também é possível deletar o histórico de uma conversa ou várias, conforme preferir.
Perguntas e respostas
Para usar o ChatGPT de forma eficiente, é importante formular perguntas claras e objetivas usando a terminologia adequada para a área de programação em questão. Avaliar a relevância e aplicabilidade dos resultados obtidos é recomendado, verificando se faz sentido ao que foi perguntado.
Vale ressaltar que o ChatGPT também fala em vários idiomas, o que facilita caso você não se sinta confortável com o inglês.
Pergunta é a chave
Ao contrário de outros buscadores onde inserimos palavras-chave, no ChatGPT, você pode fazer perguntas como se estivesse conversando com alguém. Não se esqueça de incluir o máximo de informações detalhadas possível.
Evite fazer perguntas subjetivas, vagas ou amplas. Por exemplo, caso perguntar como criar um tela de cadastro do zero, provavelmente o resultado será como iniciar um projeto Android e criar componentes como XML, que é muito vago e igualmente amplo.
Portanto, é preferível fazer perguntas direcionadas e específicas sobre o que você deseja, mencionando detalhes. Não hesite em ser verboso. Quanto mais informações, mais precisa será a resposta. No exemplo abaixo estou dando detalhes da tecnologia e o que eu espero.
O resultado é o código do Jetpack Compose, que provavelmente estará pronto para ser adicionado ao seu projeto Android. Agora que você fez as perguntas certas, o próximo obstáculo é interpretar as respostas.
A resposta me ajuda?
Em um resultado de mecanismo de pesquisa, você verá um anúncio no topo, seguido por uma postagem patrocinada e o primeiro resultado de sua pesquisa. Então você abre o primeiro link e lê o conteúdo. Não é o que você está procurando? Não se preocupe! São centenas de milhares de páginas de resultados onde você deve procurar o que precisa.
Ao contrário do cenário acima, o ChatGPT irá te dar uma resposta certa ou errada. Este é o desafio pois ele não irá falar que não sabe alguma coisa, ele irá simplesmente te dar uma resposta! Portanto, a interpretação e testes da solução de suas proposta são fundamentais!
Contexto
Caso o ChatGPT não te responda algo correto ou completo, não hesite em perguntar novamente, dando mais informações sobre o que procura. O ChatGPT mantém o contexto entre as perguntas, para saber do que você está falando.
Por exemplo, peça ao ChatGPT para reescrever o código acima, alterando as variáveis para o inglês. O mesmo código mas com novas alterações.
Gerando código
Como visto acima, o ChatGPT é uma ferramenta versátil que pode ajudar em diversas áreas, inclusive na geração de código.
Embora não seja possível criar toda uma estrutura ou todo o código de uma aplicação, o usuário pode quebrar um grande problema em problemas menores e, com o ChatGPT, ter a ajuda necessária. Como criar funções de tarefas específicas.
Além de fornecer o código, o ChatGPT também pode explicar como esse código funciona, o que pode te ajudar a entender melhor o que está sendo feito. É importante avaliar cuidadosamente todas as respostas recebidas e, se necessário, solicitar alterações que atendam às suas necessidades ou você mesmo alterá-lo.
Bugs
Ao copiar um trecho de código e perguntar ao ChatGPT se ele contém algum bug ou erro, é possível obter feedback sobre a qualidade do código e identificar possíveis problemas. O ChatGPT pode oferecer sugestões para corrigir o código, melhorar sua eficiência e evitar erros comuns. Isso pode economizar tempo e esforço ao depurar e testar o código, ajudando os desenvolvedores a criar softwares mais confiáveis e eficientes.
Se houver melhorias no código, o ChatGPT irá fornecer explicações sobre o que pode estar dando errado e oferecer sugestões para solucionar o problema.
⚠️ Tenha cuidado com o compartilhamento de código ⚠️
O código é propriedade intelectual da empresa, não do funcionário. Compartilhá-lo com ChatGPT sem permissão prévia pode ser uma quebra de contrato.
Além do mais, a IA pode acessar e armazenar essas informações confidenciais. Se vários funcionários tiverem acesso à ferramenta, eles podem compartilhar essas informações inadvertidamente, levando a violações de segurança e outras consequências graves.
Se os hackers comprometerem a ferramenta, as informações da empresa também poderão ser expostas. Portanto, é importante considerar cuidadosamente os riscos antes de compartilhar informações confidenciais com o ChatGPT ou qualquer outra ferramenta de IA.
Unit tests
Você também pode copiar um código e perguntar ao ChatGPT se é possível gerar um teste de unidade para validar sua função. O ChatGPT pode orientá-lo sobre as melhores práticas para testes de unidade e sugerir como estruturar o código para facilitar o teste.
Como mostrado acima, podemos especificar o idioma e as regras, como o limite de caracteres por linha no código.
Documentação
O ChatGPT também é capaz de ajudar na geração de documentação do código apresentado.
Podemos especificar a língua e regras como limite de caracteres por linha no código, como mostrado acima.
Explicar códigos
O ChatGPT pode ajudá-lo a compreender o funcionamento de um código, caso você precise de uma explicação mais detalhada.
Explicar conceitos
Não hesite em fazer perguntas sobre conceitos, arquiteturas ou ferramentas ou dúvidas sobre algo do dia-a-dia.
Na verdade, podemos perguntar sobre qualquer coisa, mas o foco deste post é mostrar como o ChatGPT pode ajudar engenheiros de software.
Preparar-se para entrevistas/processos seletivos
O ChatGPT também pode ser uma ferramenta poderosa para quem está procurando emprego. Nele você pode perguntar como se preparar, perguntas mais frequentes ou desafios comuns em entrevistas. Seja criativo e use-o para estar mais preparado para suas entrevistas.
Novamente, tenha em mente sempre a confiabilidade do ChatGPT. Ele poderá te auxiliar informações incorretas. Avalie sempre o resultado.
Limitações
O ChatGPT oferece ajuda na produtividade dos desenvolvedores, mas é importante levar em consideração suas limitações.
Lentidão e instabilidade
A versão grátis pode ser lenta e indisponível caso tenha muitas pessoas acessando o ChatGPT no momento, o que necessita que o usuário atualize a página manualmente para tentar a sorte.
Versão premium
Para ter respostas mais rápidas e não contar com indisponibilidade em caso de muitos acessos, o ChatGPT oferece uma versão paga por 20 dólares americano por mês. Vale destacar que nada garante que a versão gratuita continuará a existir no futuro.
Confiabilidade
Como dito anteriormente, o ChatGPT irá responder alguma coisa, certa ou errada. Avaliar a resposta é fundamental. Mesmo com sua experiencia você pode deixar passar erros propostos pelo ChatGPT, então prefira usá-lo como um copiloto, onde você tem o controle criativo das soluções e tomada de decisões.
Informações atualizadas
O ChatGPT é uma IA treinada com um grupo de informações, e este treinamento não é tão constante atualmente. Por exemplo, ele poderá não contar com as últimas atualizações do Kotlin ou Android ou eventos recentes como o últmo Google IO.
Para tomar como base, na data que este post está sendo escrito, março de 2023, o seu último treinamento da versão gratuita é de setembro de 2021.
Mensagens de texto
Atualmente não é possível fazer upload de arquivos, então você terá que copiar trechos de código caso queira avaliações. A ferramente tem um limite de 1000 caracteres por mensagem.
Também não é possível formatar o código utilizando aspas como fazemos em Markdown ou no Slack. Então o desenvolvedor terá que enviá-lo como uma mensagem de texto.
Segurança
O ChatGPT é uma ferramenta da OpenAI, que utiliza informações na internet para alimentar sua base de dados, inclusive o que for enviado na conversa com o ChatGPT. Sendo assim, é importante evitar compartilhar informações confidenciais.
Conclusão
Como vimos, o ChatGPT tem o potencial de revolucionar a maneira como desenvolvedores trabalham. Embora haja algumas limitações em relação à confiabilidade, velocidade e informações atualizadas, o ChatGPT pode ser uma forte aliada para aumentar a produtividade e otimizar o tempo de desenvolvimento.
Não há necessidade de se preocupar com o ChatGPT roubando empregos. Pelo contrário, a ferramenta pode ser vista como um apoio valioso, capaz de tornar a rotina dos desenvolvedores mais eficiente e livre de tarefas repetitivas e tediosas. Combinando a inteligência artificial com a criatividade e habilidade humana, podemos esperar um futuro mais promissor e produtivo para os profissionais de engenharia de software.
Contato
Você pode me encontrar pelo Twitter no @orafaaraujo.
Feedback são bem-vindos!