Pergunta

Se você ler o código-fonte de outras pessoas, como você abordar o código? Que padrões você está procurando (tipos de dados, loops, uso de controle de fluxo, ...)? Quanto tempo você pode ler o código de outras pessoas sem ficar entediado? O que são os padrões mais excitantes que você descobriu até agora?

Foi útil?

Solução

Além do "trabalho de cima para baixo" óbvio abordagem geral, depende de por eu estou lendo: revisão de código, tentando entender um pouco de código avaialable de adaptar para o meu próprio uso, tentando aprender uma nova técnica, etc.

Ele também depende muito da linguagem. Se for um OOPL, eu provavelmente vou fazer algo como isto:

  1. Olhe primeiro para as relações de classe primárias e tentar entender a responsabilidade primária de cada classe.
  2. Olhe para as interações entre as classes para ver como eles colaboram.
  3. Olhe para as interfaces das classes principais para ver o que "serviços" que oferecem aos seus colaboradores.
  4. Olhe dentro dos métodos não-triviais, se é importante compreender como que eles estão trabalhando em vez de o que eles são responsáveis.

Outras dicas

No início, eu ignorar o desejo de alterar o código. Que às vezes é difícil de fazer. Mas compreender primeira e mudança depois poupa-se muito desagradável "experiências de aprendizagem".

Em seguida, se o formato é ruim, reformatar. Use um formatador de código se você tiver um. Isso é porque você tendem a olhar para o recuo e se isso é ruim, sua compreensão do código também é questionável.

Então, se há datastructures complexos, eu gosto de desenhar um pequeno diagrama. O desafio aqui é mantê-lo o mais simples possível. Diagramas grandes são divertidos na parede, mas na maioria das vezes, eles são complicados de se olhar. Por isso, é perda de tempo.

Se você finalmente entender o que um pedaço de código faz, escrever um comentário. Isto é essencial, porque senão você não vai entender que a próxima vez que você está aqui.

O passo seguinte é criar testes de unidade. Agora você pode não só testar o código, mas você também pode testar sua compreensão do código.

Por último, se você entendê-lo al e você sabe que pode (e necessidade de ser) melhor, alterá-lo. Mas certifique-se de executar os testes. A menos que você é pago por cada bug resolvido.

A hip novo termo para isso é Código Spelunking .

graças, se eu entendi corretamente, o primeiro passo é identificar o contexto, segundo identificar API de e coloque os do API no contexto. Eu só percebe que é um pouco como olhar para um edifício ou obra de arte, você poderia incidir sobre o material utilizado, ou a função de peças, tente diferentes perspectivas, juiz como as partes se encaixam no todo ... há um bom pedaço do processo de descoberta: aqui - como mathematicans acho

Tudo depende de que tipo de código que você está lendo. É uma aplicação web, um serviço, um aplicativo de desktop? Quando eu começar a ler o código do outro eu costumo começar a olhar para os padrões de design usados. Ou para as coisas específicas-quadro. Mas, novamente, isso é se você estiver fazendo uma revisão. Se você está lendo para seu próprio interesse e para aprender algo realmente não há nenhuma resposta -. Você deve ler e compreender o código completamente

Escolha um item que você entender no produto final e ver como ele é colocado junto. Se você tem os testes de unidade, em seguida, eles são uma grande ajuda.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top