ChatGPT, para desenvolvedores

Rafa Araujo
Android Dev BR
Published in
8 min readMar 10, 2023
Photo by Possessed Photography on Unsplash

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.

Visual do ChatGPT
Visual do ChatGPT

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.

Exemplo de uma pergunta ampla e vaga

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.

Exemplo de uma pergunta objetiva e com muitas informações.

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!

Imagem do post https://www.linkedin.com/pulse/high-time-take-chatgpt-offline-aleksandr-tiulkanov/

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.

O mesmo código, porém 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!

--

--