Ouvi algumas pessoas dizerem que uma das melhores maneiras de melhorar sua capacidade de codificação é ler o código de outras pessoas e entendê-lo. Minha pergunta, como programador relativamente novo, onde vou encontrar bons exemplos de código-fonte que não estão muito longe da minha cabeça?
learning
source-code
Jesse McCulloch
fonte
fonte
Respostas:
Você pode procurar projetos de código aberto em sites de repositório como GitHub , Codeplex , Google Code ou BitBucket . Você encontrará projetos de diferentes níveis de complexidade; portanto, poderá encontrar algo que lhe interesse e que não exagere demais em primeiro lugar.
Outra opção são as postagens do blog de código fonte semanal de Scott Hanselman .
Eu recomendo começar com um projeto ativo e estabelecido para diminuir as chances de começar a ler código que ainda não foi usado e examinado. Idealmente, encontre algo que lhe interesse e que você possa usar. O uso do aplicativo ajudará você a entender o código fonte. Outro benefício da escolha de um projeto de código aberto é que você poderá contribuir com algumas correções ou recursos, o que ajudará a tornar a leitura do código mais interessante.
Olhar fixamente para um monte de código de outra pessoa pode ser intimidador, então comece com a
main
função (ou equivalente) e trabalhe a partir daí.fonte
Muito poucas pessoas escrevem um bom código-fonte na primeira tentativa. Um bom código-fonte geralmente é produzido por uma série de revisões. Portanto, se você encontrar o código-fonte que foi revisado por pares várias vezes e corrigido várias vezes, provavelmente está em um local melhor. Alguns projetos de código aberto (e algumas partes deles) são particularmente bem revisados. Os códigos provenientes de empresas que possuem ciclos de revisão obrigatórios (por exemplo, Google, mas existem muitos outros) podem ser adequados.
Dito isto, não tenho certeza de que seu objetivo seja encontrar "ótimo código". Deve-se examinar diferentes estilos de código (como os escritos por seus colegas de trabalho) e aprender a identificar os pontos positivos e negativos sobre ele. Quanto mais pontos negativos você identificar, mais você se esforçará para melhorar seu código e saber como.
Em particular, acredito que uma abordagem muito boa para obter uma boa noção de código é usar o depurador interativo para rastrear códigos complexos, seguindo as cadeias de invocações. Por exemplo, acesse um dos arquivos principais da sua empresa, coloque um ponto de interrupção e comece a descobrir coisas a partir deles.
Depois de algumas vezes você se desorientar com as funções de 100 linhas, com dez níveis de indentações e dependências das globais, e algumas vezes que você percorre um código bem decomposto, aprimora sua própria programação.
fonte
Em vez de encontrar ótimos códigos, consulte os Livros de programação geral.
por exemplo, código completo, escrita de código sólido, padrões de design (tenho certeza de que existem muitos outros livros em outra pergunta e resposta neste site)
Esses livros estão descrevendo a filosofia que considerou um bom código. Legibilidade, desempenho, capacidade de manutenção, detecção de erros etc.
O que serve recursos ainda melhores e mais eficientes do que tentar descobrir o que o autor está tentando alcançar.
Ps Good design de software é o que você deve procurar também. O que seria difícil de reconhecer apenas pela observação de códigos, dado que o projeto é grande o suficiente.
fonte
Descobri que o código das bibliotecas que acompanham sua linguagem de programação de escolha geralmente é um bom começo para ver o que se pensa serem práticas recomendadas e um bom estilo de codificação.
Embora você não queira começar com lugares como algoritmos de classificação ou classes de contêineres complexas.
Outro lugar para informações interessantes sobre como escrever código é o Project Euler ( http://projecteuler.net/ ). Pequena desvantagem: você deve resolver o problema primeiro para ter acesso ao fórum em que outras pessoas postaram suas soluções (desafios interessantes para todos os níveis de experiência). Mas uma vez feito, você encontrará exemplos para quase todas as principais linguagens de programação. E como você já resolveu o problema, ele ajudará você a entender o código de outras pessoas. Além disso, você verá o código de idiomas que ainda não conhece, mas que pode ser interessante.
fonte
Eu realmente gostei de ler o Beautiful Code . Possui exemplos de código curtos, mas muito agradáveis, com explicações detalhadas.
fonte