Da Autoria de:
- Pedro Fernandes, nº 21803791
- Rafael Castro e Silva, nº 21903059
- João Moreira, nº 21801608
-
O trabalho começou a ser desenvolvido pelo grupo a ser consistido apenas pelo Pedro e o Rafael, este progresso está presente no branch
master
. -
Mais tarde o João juntou-se ao grupo e trouxe consigo o projecto num estado muito mais completo e desenvolvido; o grupo adoptou então o código feito pelo João antes dele se juntar ao grupo. Este código está present no branch
JoaoBranch
eJoaoBRanch
-
No primeiro commit feito pelo membro Rafael Castro e Silva - foi utilizada uma outra conta, "EldirishInquisition".
-
O Pedro trabalhou no backend do programa, ler e interpretar os ficheiros da base de dados; Enquanto que o Rafael trabalhou no search engine, pegar na informação obtida pelo trabalho do Pedro (não chegou a ser implementado), e realizar as pesquisas nas coleções obtidas das bases de dados.
-
Depois disto o Rafael e o Pedro trataram de comentar e fazer refactoring do codigo para que este seja mais legivel e se aproxime mais dos principios SOLID. O Rafael tratou do refactoring maior e o Pedro de docomentar e executar algumas alterações de codigo para a qualidade do mesmo. No entanto a base de código tem na sua maioria a autoria do João.
-
Fora do código, o Rafael e o Pedro escreveram este relatorio, o Rafael fez o UML, o João escreveu a Arquitetura da Solução.
- Foram usados, principalmente, dicionários para guardar a informação. Desta maneira é possivel realizar procuras rápidas com o "Where" usando apenas uma "Key" no método TryGetValue do dicionário. Usamos classes separadas para cada elemento da base de dados implementados por uma interface que os englobe a todos. Desta forma é possivel agregar as classes numa só interface.(ex : IEnumerable...). Usamos várias interfaces para o código ser mais fléxivel. E também deixamos as classes em aberto i.e. as classes podem ser herditadas para outros programadores implementarem a sua própria solução usando as mesmas. Para os menus usamos métodos lambda para as ações do menus. Usamos o pattern Target para a resolução do problema.
- API .Net
- StackOverflow