https://github.com/dfleta/bicipalma
Arrays estáticos, tipos primitivos, loops, operador ternario, SRP, OCP, Tiene una /has-a, Composición (agregación fuerte), TDD, Refactorización , Gradle sourceSets
https://github.com/dfleta/bicipalma
aggregation array elvis-operator gradle-sourcesets has-a-relationship loops ocp primitive-types refactoring srp
Last synced: about 2 months ago
JSON representation
Arrays estáticos, tipos primitivos, loops, operador ternario, SRP, OCP, Tiene una /has-a, Composición (agregación fuerte), TDD, Refactorización , Gradle sourceSets
- Host: GitHub
- URL: https://github.com/dfleta/bicipalma
- Owner: dfleta
- Created: 2020-02-13T13:26:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-02-21T22:01:38.000Z (3 months ago)
- Last Synced: 2025-03-25T16:51:37.381Z (2 months ago)
- Topics: aggregation, array, elvis-operator, gradle-sourcesets, has-a-relationship, loops, ocp, primitive-types, refactoring, srp
- Language: Java
- Homepage:
- Size: 330 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Bicipalma
## Examen programación Java
Examen de programación DAW Dual Java de febrero de 2014, CIFP Francesc de Borja Moll, Palma (Illes Balears).
- Arrays estáticos
- Tipos primitivos
- loops
- SRP
- OCP
- Tiene una /has-a
- Composición (agregación fuerte)
- TDD :(
- Refactorización
- Gradle sourceSets## DDD

### Consideraciones
Se trata de una refactorización de un código Java antiguo, el que correspondía a dicho examen, ideado para ser resuelto con los conocimientos básicos de Java que el alumnado poseía por aquel entonces.
Se ha aplicado DDD, SRP y OCP para destilar las responsabilidades en rutinas testeables.
Se añadieron los casos test mínimos que corresponden a las historias de usuario que se indican en el `main`. No se empleó TDD.
Se utilizó como práctica para crear una configuración de Gradle con una estructura de directorios que no respeta la convención sobre configuración que emplean Maven y Gradle.
No se emplea programación funcional, ni existe control de errores (ni recursos asociados como `Optional`), ni estructuras de datos dinámicas porque se trata de un proyecto de aprendizaje para alumnado que inicia su andadura en Java.
Sobre el patrón AAA (Arrange, Act, Assert) usado para escribir los casos test de unidad:
[Unit test basics, Learn Visual Studio Testing](https://learn.microsoft.com/en-us/visualstudio/test/unit-test-basics?view=vs-2022#write-your-tests)