Não concordo muito com o que foi dito e sinto que mais não foi mencionado, então vou começar do zero.
Metodologias ágeis
Adote metodologias ágeis durante o desenvolvimento da estrutura, para que você possa se adaptar às mudanças, reagir rapidamente aos obstáculos e garantir um produto final funcional e de qualidade. Metodologias ágeis são aquelas que, de acordo com o "Manifesto Ágil", priorizam:
Indivíduos e interações em processos e ferramentas
Software de trabalho em documentação abrangente
Colaboração do cliente em negociação de contratos
Respondendo a mudanças ao seguir um plano
Está certo. Eu disse que a funcionalidade é mais importante que a documentação. Observe que o "Manifesto Ágil" menciona que as prioridades da direita ainda são importantes, menos ainda que as da esquerda.
Comunicação
Quem está criando a estrutura precisa saber:
- Como será usado: o aplicativo de destino
- Que problema se destina a resolver: o problema alvo
- Quem o usará: o público-alvo
Por exemplo, se uma empresa pretender desenvolver um aplicativo final com o ASP .NET, seria tolice dizer aos programadores que "criem essa estrutura" sem informar o que foi dito acima. Se os programadores não conhecerem o aplicativo de destino, eles podem não torná-lo orientado para a Web. Se eles não soubessem o problema, poderiam criar uma estrutura para um propósito diferente. Se eles não conhecessem o público, poderiam programar a estrutura em C ++. Qualquer uma dessas circunstâncias tornaria inútil a estrutura resultante.
Estilo
Escusado será dizer que, estabelecer um estilo / formato de programação e ficar com ele.
Os E's
- Modularidade : reutilize o código programaticamente, não literalmente.
- Eficiência : seu código é destinado à reutilização. Qualquer prejuízo à velocidade é multiplicado.
- Manutenção : Você deseja poder editar a estrutura para atualizar vários programas, sem precisar modificar os programas.
- Usabilidade : os aplicativos podem realmente usar sua estrutura sem pular os bastidores?
- Praticidade : não reinvente a roda se não for necessário. Sua estrutura pode depender de outras estruturas.
- Redundância : captura de exceções / erros. Em toda parte. Os manuseie. Em toda parte. Nunca confie em nenhum código, exceto no escopo local, para lidar com erros, mesmo se você souber.