Executando verificação de segurança...
71

Economizei +20 horas de trabalho com um script simples 🤯


Hoje na empresa em que presto serviço (uma software house), me passaram a demanda de fazer uma documentação completa do código.

E com "completa", quero dizer TODOS OS ARQUIVOS.

Parece que iam entregar o código-fonte para o cliente e fecharam um valor extra por isso.

O problema é que sobrou para mim, documentar mais de 300 arquivos, o que não é só chato e cansativo, mas também muito demorado.

Pensei por alguns minutos e decidi testar fazer um scriptzinho com IA para automatizar esse processo e me poupar da amargura de fazer manualmente.

O resultado ficou um absurdo de bom! Olha esse print de uma das documentações:
Print da documentação

Gastei menos de uma hora para fazer o script e economizei +20 de horas de trabalho arduo e armagurante

No fim, o cliente saiu feliz, meu chefe saiu feliz e, o mais importante, eu saí feliz kkkkkk

Pensei em dar uma organizada no código e deixar open-source no GitHub para todo mundo que precisar ou passar por uma situação parecida, poder usar.

Isso é problema recorrente para vocês também ou só eu fui premiado?

Segue um vídeo do script funcionando:
Script para geração de documentação

https://youtu.be/-tcXWFiF-3Q

Carregando publicação patrocinada...
4

O melhor Dev, é o Dev Preguiçoso! Hahaha

Apesar das importantes considerações do colega @clacerda, parabenizo pelo trabalho executado, pensou 'fora da caixa' e automatizou uma tarefa monótona! Ainda assim, reforço a importância de investir algumas boas horas na validação e correção do documento.

Parabéns @jeffz pelo trabalho, e obrigado por compartihar!

3

Isso serve para a vida kkkkkk

Apesar das brincadeiras, eu vejo o processo automatizar tarefas repetitivas e chatas como uma "compra de tempo".

Claro que não elimina a necessidade de revisão e adptação conforme necessária, mas te permite focar por mais tempo no que realmente importa.

Já deixa uma ⭐ no projeto!
https://github.com/jefferson-calmon/codocx

2
1

Coloquei o repositório no ar hoje e espero conseguir ajudar muita gente mesmo! Aparentemente muito dev passa por essa armagura kkkkkk

2

Esse tema de automatização de processos, seja na vida profissional ou em projetos pessoais, sempre me chama bastante atenção.
É incrível como podemos desenvolver soluções incríveis quando usamos a ferramenta chamada programação. E em conjunto com a IA foi sensacional!

Meus Parabéns!
Depois diz pra gente qual foi a linguagem e a IA que usou, por favor.

1
1
3

Pode deixar que vou mandar aqui até o fim do dia de amanhã! Vai ser livre para todo mundo usar, modificar e contribuir 💪🏻

1
1
1
0
1
1
1
1
1
1
2

hahaha vai funcionar sim! Estou organizando o código hoje para deixar mais prático de usar + zero config. Amanhã posto o link do repositório aqui!

vou cobrar esse churrasco em hahahehhaheha

1
1

Uau, isso é realmente muito legal! Automatizar a documentação com IA é definitivamente um tema quente no momento, e dá para entender o porquê, é uma economia de tempo enorme e parece tirar muita da chatice dessa tarefa. Agora em uma pesquisa rápida, encontrei dezenas artigos acadêmicos publicados em 2023 ou 2024 que abordam exatamente essa questão. Então, parabéns por criar algo tão relevante e atual!

No entanto, embora automatizar o processo de documentação pareça um sonho se tornando realidade, há alguns pontos importantes que me deixam muito receoso.

  1. Escrever documentação não se trata apenas de descrever o que o código faz, é uma oportunidade de entender profundamente a base de código, refletir sobre as decisões de design e garantir que tudo faz sentido. Quando você automatiza isso, perde uma etapa crucial de compreensão do código e de garantia de qualidade. Será que nessa 20 horas que supostamente "economizou", na verdade não perdeu a chance de encontrar alguma problema grave do software antes de realizar a entrega ao cliente?
  2. Boa documentação vai muito além de uma simples descrição do código. Ela deve cobrir o porquê das decisões, explicar o processo de pensamento e destacar justamente os aspectos que não óbvios através do código. Nenhum script, por mais avançado que seja, vai ser capaz de captar a intenção ou o raciocínio por trás de decisões não triviais.
  3. Há o risco de a IA gerar uma documentação que seja enganosa ou até completamente errada, o que é pior do que não ter documentação nenhuma.

Então, embora automatizar a documentação seja uma ideia empolgante e promissora, eu recomendaria usar isso com muito cautela. Pode ser um ótimo complemento, especialmente para tarefas de documentação repetitivas ou diretas, mas para bases de código onde a qualidade da documentação realmente importa, nada supera a comprensão adquirida ao revisar e documentar manualmente o seu código.

De forma alguma estou desencorajando o trabalho do jeffz, muito pelo contrário! Iniciativas como essa são exatamente o tipo de inovação que buscamos. Estou apenas apontando alguns aspectos que acredito serem importantes para pensar a respeito. A automação é ser uma ferramenta poderosa para otimizar processos e economizar tempo. Eu acredito fortemente que a IA generativa será a base para a próxima geração de ferramentas CASE, que serão ainda mais disruptivas do que as dos anos 90.

Documentação e rastreamento de artefatos de design e testes vinculados ao código-fonte, vinculação bidirecional de representações AST do código e da documentação, analisadas por IA. Em suma, penso que a automação da documentação por ferramentas de IA vai transformar muito positivamente a forma como desenvolvemos software, se for utilizada em um complemento à expertise humana, em um processo colaborativo, não em sua substituição.

Ao invés de querer ver o código como os outros, mas gostaria de ver um artigo que detalhasse os resultados obtidos com a sua ferramenta, em termos de precisão e qualidade por exemplo. Além disso, o que eu realmente quero saber é como integrar o humano no processo, em vez de delegar completamente à máquina. Acredito que o futuro da documentação está na integração de sugestões automáticas ao estilo LSP (Language Server Protocol), já pensou algo sobre?

Um abraço e bons estudos!

2

Algo se ganha, algo se perde. Ganhar velocidade parece tudo de bom e realmente é, mas quando se pensa nos detalhes, o que o resumo não está entregando. Excelente crítica, é necessário ganhar velocidade e não perder a chance de analisar com o devido cuidado!

2

Você levantou pontos realmente muito relavantes e importantes. Fico feliz que alguém tenha tido esse tipo de visão e concordo com absolutamente tudo que você disse.

O meu caso de fato foi uma situação mais "simples", na qual eu apenas tinha que escrever alguns documentos explicando o que cada coisa faz. De forma bruta mesmo!

Claro que esse processo de automatizar não elimina de forma alguma a necessidade de revisão e adapção da documentação. Mas encarei como uma forma de "comprar tempo" e conseguir focar no que era mais importante para mim no momento.

O script que eu fiz, como eu já comentei, é extremamente simples e bruto! Deixei open-source no github aberto para a comunidade de devs.

Coloquei o repositório no ar hoje! Fica a vontade para usar, melhorar ou compartilhar

Já deixa uma ⭐ no projeto!
https://github.com/jefferson-calmon/codocx

Obrigado pelo tempo lendo o post e escrevendo um artigo tão detalhado e completo 💪🏻

1

Parabéns pelo trabalho, criei uma documentação em tempo recorde, durante o tempo que preparei o café.
Apenas como sugestão, seria interessante uma configuração para a linguagem da documentação. Ela é criada em português, e muitas vezes seria interessante que fosse criada em outra(s) línguas, principalmente o inglês.

1

Caraca que foda! Muito bom ver as pessoas tendo resultados bons e satisfatórios também!

Sobre a sugestão de idioma, puta sugestão boa! Vou anotar aqui no meu backlog do projeto para trabalhar nisso futuramente.

Para ajudar o projeto a ganhar visibilidade, deixa uma ⭐ no repo ou faz um post em outras redes sociais. Recentemente, teve um dev que postou no linkedin e ajudou a ajudar muitos outros devs

1

Maravilha, o que fiz do meu lado foi adicionar uma instrução no prompt para gerar a documentação em inglês. Baixei o código e adicionei a modificação.
Mas de qualquer forma, parabéns pelo trabalho.

0
1

Estou dando uma refatorada no código hoje (tinha feito de qualquer jeito só para funcionar logo) e vou deixar simples e zero config de usar.

Amanhã posto o link do repositório aqui!

1
0