Como entender o código "estrangeiro" e ingressar em uma nova equipe?



Assim que o desenvolvedor entra na empresa e recebe a tarefa, muitas vezes acontece que ele precisa ingressar no projeto comum de alguma equipe e não escrever seu código do zero.

Qualquer código tem sua própria lógica, com base em certos princípios, nele existem padrões e tecnologias características da equipe à qual o programador se uniu. Mas como começar rapidamente a entender o projeto de outra pessoa, apesar de dificilmente ser pequeno, e muitas vezes não haver documentação, ou é insuficiente e impreciso?

Lembramos que: para todos os leitores de "Habr" - um desconto de 10.000 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".

A Skillbox recomenda: O curso on-line Profissão Frontend Developer .

De fato, a melhor documentação é o próprio código e aqueles que criaram esse código (desde que ainda estejam em algum lugar próximo e não tenham saído da empresa). Como posso reduzir o tempo ao mínimo e começar a trabalhar rapidamente, contribuindo?

Eu encontrei repetidamente essa situação nos últimos 15 anos do meu trabalho como programador, e aqui estão meus pensamentos sobre esse assunto.

Metas e objetivos do projeto


A primeira coisa que você deve fazer é dedicar um pouco de tempo a entender quais tarefas o aplicativo para o qual você está criando código está executando. Este é um desafio global; Tendo resolvido, você vai lidar com tudo o resto.

Você não pode trabalhar em um projeto sem perceber por que ele é necessário. O entendimento comum permitirá que você entenda rapidamente as pequenas coisas. Além disso, seu próprio trabalho será realizado de maneira mais harmoniosa com o restante da equipe. Tijolo por tijolo - é assim que a casa é construída.

Arquitetura


Depois de aprender a tarefa principal, dedique-se à análise da execução do código e sua lógica.

A arquitetura de alguns projetos é bastante complicada, especialmente se as tecnologias básicas desses projetos não forem muito familiares para você. No início, tente encontrar documentação técnica (ou pergunte a colegas sobre ela) para ver a lógica básica.

Tendo em mente a estrutura do projeto, você poderá começar a trabalhar mais rapidamente e não interferir no funcionamento de todas as outras partes nas quais outros membros da equipe estão envolvidos.

Pode haver fragmentos no projeto que violem a lógica geral, mas, conhecendo a idéia e a arquitetura, você pode corrigir o problema, reorganizar ou alterar os "tijolos" para que eles se encaixem perfeitamente no edifício geral.

Padrões


Há um grande número de padrões que os desenvolvedores usam ao escrever código. Estes são padrões estruturais, "comportamentais", tecnológicos e outros. Todos eles ajudam a tipificar maneiras de resolver problemas comuns ao projetar programas.

A compreensão de quais padrões são usados ​​no seu projeto atual ajudará, no nível da classe, a entender como as funções devem ser incorporadas ao código. Como resultado, você poderá criar um código coerente que corresponderá à lógica e aos padrões gerais, o que levará a um número muito menor de comentários sobre o código, a um melhor entendimento do mesmo e a pronta eliminação de erros, se necessário.

Depois de trabalhar um pouco no projeto, você poderá entender rapidamente quais seções do código se encaixam na estrutura geral e o que exige refatoração.

Diretrizes


A maioria das equipes tem certas regras, ou melhor, um conjunto de regras segundo as quais todos agem. Não se trata apenas dos princípios gerais do trabalho, mas também do uso de classes e níveis de aplicativos. Se os representantes da equipe forem guiados pelas mesmas diretrizes, o código desenvolvido será mais fácil de entender e ler.

Provavelmente, a equipe que você ingressou também possui diretrizes que você precisa aprender. Primeiro de tudo, eles se relacionam com a linguagem de programação, que é a principal durante o desenvolvimento.

Você pode perguntar onde obter todas as informações sobre o projeto, sua arquitetura, modelos e diretrizes. Existem vários métodos para obter o necessário, exceto aqueles que já foram mencionados acima:

  • Procure qualquer informação, mesmo a que possa ser considerada irrelevante; Crie sua própria base de conhecimento de termos, abreviações e conceitos comuns que sua equipe usa.
  • Quando esse banco de dados estiver pronto, você poderá discutir todos os problemas de seu interesse com o gerente do projeto, já que você já fala o mesmo idioma.
  • Além disso, vale a pena conversar com os arquitetos de aplicativos e os líderes de equipe sobre a arquitetura geral do seu projeto. Em seguida, tente aprender mais sobre essa arquitetura e as técnicas de otimização de código associadas a ela. Se você vir algo que, na sua opinião, viola a lógica geral do aplicativo, não deixe de discutir isso com o líder da equipe.
  • Descubra com seus colegas de equipe quais padrões e regras são usados ​​no decorrer do trabalho no código - durante a gravação e em futuras manutenções. Depois de conhecer os pontos principais, compare o que funciona melhor e aja de acordo no futuro.
  • Tente limpar uma seção do código de problemas potenciais e reais - isso ajudará você a entender melhor o projeto e seu código. O que sua equipe usa para limpar o código?

De um modo geral, a refatoração é a melhor oportunidade para envolver sua equipe em uma discussão sobre quais diretrizes devem ser revisadas e quais devem ser usadas no futuro.

Compartilhe suas próprias experiências com a equipe, participe ativamente de reuniões de trabalho, discuta problemas atuais, a arquitetura do aplicativo e seus elementos, modelos e outros pontos importantes. As reuniões de trabalho podem ser um canal confiável para obter informações adicionais; vale a pena falar sobre suas observações / realizações, sobre o que pode ser útil para todos.

Como resultado, você pode não apenas começar rapidamente o trabalho, mas também ingressar na equipe, tornando-se seu participante insubstituível em pouco tempo.

Obviamente, você encontrará pessoas com quem é difícil se comunicar; haverá problemas com o código. Mas isso acontece quase sempre - há equipes em que tudo é perfeito, mas são poucas.
A Skillbox recomenda:

Source: https://habr.com/ru/post/pt441356/


All Articles