Projeto com o objetivo de inicialmente construir um design de classes coeso e claro, para criar uma estrutura orientada a objetos consistente e de fácil manutenção.
Abstrações : Contém as classes que servem de base para a existência de outras, uma estrutura padrão para classes derivadas implementarem determinado comportamento. Pode conter classes normais, e classes de comportamento ( interfaces ).
Documentação : Contém a modelagem das classes. Possui o arquivo de requisitos do projeto, e imagem + arquivo modelado( no software asta ) com o diagrama.
Fábricas : Aqui ficarão classes responsáveis pela construção de objetos, não expondo o construtor do mesmo, assim , encapsulando o processo de criação dos objetos.
Enums : Nessa pasta estão os Enums implementados em python, onde cada um deles definem constantes e alguns atributos essenciais para poder servir de suporte à algumas implementações.
Modelo : As classes responsáveis por implementar as entidades que interagem dentro do sistema, fazendo ele funcionar.
Services : Nessa pasta estarão localizados as classes que servirão de suporte para representar algum comportamento/abstração de alguma lib built-in do Python , criando uma abstração legível para se trabalhar no modelo.
Exemplo:
- Abstração da lib date e tratamento de intervalos de tempo.
>>>horario=Horario()
>>>horario.mais("1 dia")
21/09/201607:50>>>duracao=Duracao(horario,durando="20 minutos")
>>>duracao.inicio21/09/201607:50>>>duracao.final21/09/201608:10- Testes : Pacote responsável pelos testes de integridade e comportamento dos objetos que serão criados ao longo da app. Cada requisito do pdf que está em documentação há um teste na medida do possível para ele.
O projeto inicialmente não possui dependência. Então é só dá um clone e começar a dá uma mexida. 😄 👍
gitclonehttps://github.com/Marlysson/AppEvents.gitcdAppEvents
...coding...Recomenda-se a versão 3.x do Python.
Basta entrar na pasta testes do projeto e rodar o comando:
python3-munittestdiscoverAssim rodará todos os testes que estão na pasta respectiva. 👍
Assim como em qualquer outro projeto os passos são basicamente esses.
gitclonehttps://github.com/Marlysson/AppEvents.gitgitbranch<funcionalidade>#Criar um branch para a sugestãogitpushoriginfuncionalidadeE mandar um Pull Request do seu novo branch no repositório original.
