-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TFG-72 Add reasons for the design #76
Conversation
…plain why the classes are organized in this way
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Los problemas que veo están más relacionados con la base de las decisiones, más que con el PR en sí, así que p'alante.
cie | ||
AbstractRepository | ||
clusterizar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No sé si esa palabra existe...
clusterizar | ||
satisfacibilidad | ||
mockeadas |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... ni esta
.github/workflows/allow_words.txt
Outdated
situ | ||
tipados | ||
creacional |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... ni esta
Tienes que tener un poco de cuidado con la terminología. La terminología coloquial que se usa no tiene por qué ser correcta en el contexto de #14
""" | ||
|
||
def factory_method(self): | ||
return DiseaseRepository('data/diseases', CieRepoCreator().factory_method()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
El prefijo debería estar en una constante.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lo meto en la PR donde añado un sistema de configuración #77 y creo issue para registrarlo y no olvidarme
) | ||
predictor = PredictorManager(c) | ||
predictor.deaths_forecasting({'query': query}, group, summ, period) | ||
predictor = PredictorManager(RazielRepoCreator().factory_method()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No entiendo muy bien ahora lo que estás haciendo. ¿No se suponía que se iban a fusionar la info de todos los repositorios? ¿Lo que estás haciendo es escober sólo uno de ellos para devolver información?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A la hora de crear este objeto RazielRepoCreator
crea y usa el resto de repositorios que necesita
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Entonces, ¿es un problema de denominación? ¿Raziel no es un repositorio?
De veras, tienes que explicar un poco mejor las decisiones en los mensajes de commit o en los issues. Si no, me pierdo.
obj = AgesGroupsRepoCreator().factory_method() | ||
assert isinstance(obj, MockGedadRepository) | ||
|
||
def test_creator_operation(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No se usan literales en el código, se usan constantes con un nombre que indique qué son (y cómo cambiarlas en caso de refactorización). Por favor, respeta las buenas prácticas en los lenguajes y tecnologías que uses.
doc/secciones/06_implementacion.tex
Outdated
A la hora de empezar con la implementación de la solución, debemos comenzar teniendo en cuenta la arquitectura software que satisface requisitos del sistema de acuerdo con los usuarios. Es decir, con las historias de usuario que han expresado. | ||
|
||
\section{Arquitectura software de la solución} | ||
Para el diseño del software se ha utilizado el diseño dirigido por el dominio, DDD \textit{Domain Driven Design}. Este tipo de arquitectura introducida por Eric Evans \cite{ddd_book}: "Domain-Driven-Design - Tackling Complexity in the Hearth of Software, 2004" nos permite organizar el código de forma separada y organizada lo que nos permite poder realizar TDD correctamente ya que por tener las distintas capas separadas y débilmente acopladas unas de las otras. Gracias a este bien diseño es muy fácil hacer uso de la inversión de dependencias \footnote{https://jj.github.io/curso-tdd/temas/inversi\%C3\%B3n.html} para inyectar en los tests las clases mockeadas que necesitemos. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creo que el rojo marca un error en LaTeX
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creo que es por escribir :
o tal vez por el "
tras una cita... no se muy bien la verdad
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
igual las comillas, simplemente. En fin, ni caso.
* TFG-72 Add reasons for the design (#76) * TFG-72 Add reasons for the design of the software architecture and explain why the classes are organized in this way. closes #72 * TFG-72 add factory method pattern. close #78 * TFG-80 Add documentation (#83) * TFG-80 Add documentation. closes #80 * TFG-80 Add docstring to abstract_repository.py * TFG-85 closes #84 * TFG-add-rest small improvement in memory * TFG-74 Add http error codes (#81) * TFG-74 Improve error handling closes #74 * TFG-74 closes #75 closes #73 * TFG-73 Add configuration and deletion of residues (#77) * TFG-73 Add use of distributed configuration and justification to memory. closes #73 * TFG-73 Add repos data path to general config. closes #82
Avanza en la HU #42
Con esta entrega pretendo mejorar la explicación del modelado del sistema en la memoria y refactorizar un poco código repetido que había. closes #72
Implemento tmb un patrón de diseño para mejorar el proceso de creación de repositorios y dejar dejar atrás la complejidad de imports circulares y simplificar todo ese proceso. closes #78