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

Como ler projetos no Github?

tl;dr Como ler os projetos em Node e Go da minha empresa? Literalmente, qual o caminho seguir para entender o funcionamento da API/aplicação?

Em um passado distante, programei em C, C++, Java. Mas apenas em trabalhos e exercicios na faculdade. Me formei, saí da área e agora voltei aos 30.
Por um milagre (e por ser bom em pensamento lógico e ter quem indicasse) consegui um emprego na área de uma GRANDE empresa de tecnologia BR. Pronto, essa é a minha situação. Síndrome do impostor atacando forte (com razão, pois estou realmente aquém dos meus pares).

A empresa possui grandes aplicações, em sua maioria NodeJS e Go. Por já ter programado, a estrutura me é familiar e consigo entender os códigos, porém estou perdido quanto a estrutura deles. Quando programava eram sistemas simples, com no máximo dois arquivos, hoje existe toda uma "árvore" de arquivos focando as boas práticas e a separação de funções que eu me perco ainda um pouco.

Pra não me extender muito, como ler os projetos em Node e Go da minha empresa para dar manutenção? Literalmente, qual o caminho seguir para entender o funcionamento da API/aplicação?

"Clica no package.json, vê o arquivo de inicialização, investiga o arquivo e clica em..."
"Clica no Dockerfile, estuda os comandos tal e tal..."

Obviamente não vim pedir nada de mão beijada. Quero apenas um direcionamento. Sei que vou ter que estudar MUITO e TUDO, mas quero saber por onde começar pra não ficar ainda mais afogado na quantidade de informação. Podem me sugerir estudos paralelos também. Para que me ajudem com conhecimentos gerais.

Carregando publicação patrocinada...
2

Acredito que esse desespero seja comum quando lidamos com projetos de grande porte, até mesmo pra quem já tem bom dominio na Stack. Tem muitas informações que tão faltando pra eu poder te dar uma dica melhor, mas vou tentar ser generalista aqui.

1- Veja a Documentação do Seu Projeto(Se tiver)

Se você der a sorte de estar numa empresa organizadinha com Swagger e outras ferramentas de documentação de API, você vai ter uma facilidade enorme em encontrar os endpoints que tem problema e até mesmo pode usar eles de exemplo pra realizar tasks semelhantes.

2- Clone o Repositório no Seu Computador e Use a Sua IDE Favorita

Acredito que já o tenha feito. Mas o titulo me deixou em dúvida se o executou o projeto localmente. Se não, é importante que o faça!

3- Saiba o Básico da Stack

Pelo que entendi, você não teve experiência com o funcionamento do Node e do Go. Nem está acostumado com o padrão organizacional. E tá tudo certo, entenda que os projetos de hoje em dia seguem alguns padrões escolhidos pela empresa de como vão organizar seus endpoints, seus middlewares, seus repositories, etc. Isso vai variar de projeto pra projeto. Geralmente oque você vai ver são arquivos que fazer "Coisas semelhantes" na mesma pasta. Os Frameworks modernos separam tudo em arquivos e "exportam" o código dentro desses pra serem utilizados por outros arquivos. Os outros arquivos que forem utilizar, vão estar "importando", assim tudo fica bem separadinho e organizado no seu devido lugar, depois que você descobrir onde tá cada pasta fica fácil de achar onde você precisa fazer manutenção

4- Use Bastante o CTRL+SHIFT+F

Os projetos grandes são assustadores e nem sempre bem organizados. Mas se você precisa fazer manutenção numa área do código especifica, você pode usar essa ferramenta de busca geral pra encontrar a palavra chave do endpoint que você procura. Quando você aprender a usar o CTRL+SHIF+F sua vida vai facilitar enormemente!

5-Tira um tempo pra estudar o projeto

Todo projeto é diferente, organizado diferente e usa ferramentas diferentes. Toma um tempo enquanto estiver atoa pra ver oque cada um dos elementos dele faz. Se possivel, pede ajuda pra um colega de equipe sênior, que vai facilitar muito sua vida!

Espero te ajudar um pouco. Se sua duvida for outra, só me dar um toque que eu reformulo aqui pra te ajudar!

Essas dicas eu recebi de um sênior quando tive que mudar de Stack, fizeram meu desempenho subir muito!

2

Gosto muito da sua atitude e vou fornecer algumas ideias. Vou apresentar isto como um guia passo a passo, mas use com cuidado, sinto que vai entender.

  1. Entenda Como a Aplicação é Executada
    O primeiro passo é compreender como a aplicação é construída e executada. Isso envolve conhecer o ambiente de execução, incluindo arquivos como Dockerfile, package.json para Node.js, e main.go para Go. Este entendimento é crucial para saber como o sistema operacional inicia a aplicação, como ela é compilada e quais são os comandos específicos para a execução. Familiarize-se com o processo de construção (build) e execução da aplicação, pois isso serve como a base para todo o trabalho subsequente.

  2. Entenda o Fluxo da Aplicação
    Utilize ferramentas de navegação de código da sua IDE. Use atalhos que permitem que você "entre" e "saia" de funções, ou pesquisar por termos, sem precisar parar para pensar. Explore como as funcionalidades são implementadas e siga o fluxo de controle do programa. Uma dica valiosa é utilizar os testes como guia para entender as funcionalidades e como elas operam. Execute os testes dentro de um debugger. Melhor ainda: faça chamadas da API dentro do debugger para ver passo a passo, o que acontece.

  3. Entenda a Arquitetura da Aplicação
    Compreenda como os diferentes componentes da aplicação se conectam e quais padrões ememrgem. Identificar e compreender esses padrões não é apenas fundamental para desvendar a estrutura do código, mas também para antecipar seu comportamento e evolução. A ênfase frequente em padrões de projeto ("design patterns") não é por acaso. Eles são, de fato, a essência da arquitetura de software. Cada projeto, com suas peculiaridades, tende a desenvolver seu próprio conjunto de padrões, que são variações ou combinações — às vezes não tão elegantes - de padrões fundamentais.

    Entender os padrões de projeto aplicados em sua aplicação é crucial. Isso não só ajuda a navegar pela base de código com muito mais eficiência, mas também permite contribuir de maneira mais significativa e colaborativa para o desenvolvimento e manutenção do software. Ao familiarizar-se com estes padrões, você ganha a habilidade de reconhecer soluções semelhantes e reusa-las nas novas tarefas.

Outras Dicas Importantes

  • Não Faça Sozinho: Você está em uma empresa e espera-se que colabore. Após fazer sua pesquisa, se ainda tiver dificuldades, prepare perguntas inteligentes e procure alguém que conheça o código. Um walkthrough guiado do código com a pessoa que o desenvolveu pode economizar dias de trabalho.

  • Documentação: Deve haver alguma documentação disponível. Encontre-a, pergunte onde está e leia-a. Este processo deve ser iterativo: vá do código para a documentação, depois para as pessoas, e então documente suas descobertas, atualizando a documentação existente. Se encontrar informações incompletas ou incorretas, corrija-as.

Um abraço e bons estudos!