Software open source com boa documentação de código para melhorar a habilidade de design [closed]

5

Como estou tentando melhorar o design de um bom software, estou imaginando se existe um software de código aberto (bem escrito) com muita documentação de código que explique detalhes sobre o porquê deste ou daquele design A escolha foi feita no contexto desse conjunto específico de problemas. Estou interessado em OOP e eu realmente não me importo muito com a linguagem (php / java / c # são os preferidos tho :))

Exemplo:

Problema: X
Possível maneira de lidar com esse problema: A, B, C.
Nós escolhemos B porque ... (detalhes técnicos sobre a implementação, prós e contras, comentários de código, etc.)

    
por Geeo 19.07.2012 / 15:23
fonte

5 respostas

1

Um bom exemplo é o kernel do Linux. A lista de discussão explica muitas decisões de design, e há também livros que descrevem por que os internos são escritos da maneira que são (um exemplo é Entendendo o Kernel do Linux , embora pareça que existem muitos outros. A Linux Magazine também tem (ou pelo menos costumava ter) resumo da lista de discussão falando sobre as principais discussões / decisões de design na comunidade do kernel.

EDITAR: Como o kernel pode ser intimidante para começar a "aprender", aqui estão algumas áreas para começar:

  • Agendamento de tarefas
  • Alocação de memória do kernel
  • sistema de arquivos

Se você limitar o escopo a um único componente, deverá ser mais fácil de entender.

Além disso, para olhar o código facilmente durante a leitura da documentação, talvez seja útil examinar LXR .

    
por 19.07.2012 / 22:11
fonte
4

Esses livros oferecem uma perspectiva de alto nível sobre como e por que certos softwares de código aberto são projetados da maneira que são: A arquitetura de aplicativos de código aberto

Existem dois volumes que abrangem uma ampla variedade de projetos de código aberto, antigos e novos. Por exemplo:

  • O artigo sobre bash abrange vários pontos de decisão e até tem uma seção perto do final sobre "O que Eu teria feito diferente "para fornecer uma retrospectiva.
  • O artigo sobre Eclipse fornece vários diagramas, trechos de código e discute parte da evolução através dos vários principais versões em que foi lançado.
por 07.03.2013 / 15:22
fonte
2

O livro Beautiful Code documenta problemas de design e suas soluções. Não me lembro se todos os capítulos abordam projetos de código aberto, mas pelo menos um deles (o capítulo sobre um problema de design específico no SVN) faz.

    
por 19.07.2012 / 22:22
fonte
1

Eu aconselharia a leitura de dois livros.

Para mim, este é o MELHOR LIVRO DA PROGRAMAÇÃO NUNCA! :) (E não importa se você não usa C #, você ainda pode lê-lo)

Princípios, padrões e práticas ágeis em C #

Código limpo

Eu realmente acho que o primeiro deve ser lido por todos os programadores.

Editar: Esses livros são ótimos recursos para pessoas que estão tentando melhorar o design de um bom software. Pessoas que procuram bons (bem escritos) softwares / exemplos de código aberto com muita documentação de código que explique detalhes sobre por que essa ou aquela escolha de projeto foi feita no contexto daquele conjunto específico de problemas. Além disso, tem uma grande seção sobre como organizar suas montagens. Eu não vi isso em nenhum livro de programação. E eu li provavelmente 30.

    
por 07.03.2013 / 12:09
fonte
-1

Há uma enorme quantidade de código disponível para classes do sistema Java. Provavelmente não tem o nível de documentação que você quer, mas é um código real que resolve problemas reais. Se você trabalha em Java de qualquer maneira, pode ser fácil de obter e realmente interessante.

    
por 19.07.2012 / 19:39
fonte