{"id":22273577,"url":"https://github.com/dfleta/bicipalma","last_synced_at":"2025-07-08T01:08:16.462Z","repository":{"id":94648018,"uuid":"240266507","full_name":"dfleta/bicipalma","owner":"dfleta","description":"Arrays estáticos, tipos primitivos, loops, operador ternario, SRP, OCP, Tiene una /has-a, Composición (agregación fuerte), TDD, Refactorización , Gradle sourceSets","archived":false,"fork":false,"pushed_at":"2025-02-21T22:01:38.000Z","size":338,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-25T19:03:20.067Z","etag":null,"topics":["aggregation","array","elvis-operator","gradle-sourcesets","has-a-relationship","loops","ocp","primitive-types","refactoring","srp"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfleta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-13T13:26:52.000Z","updated_at":"2025-02-21T22:01:42.000Z","dependencies_parsed_at":"2025-02-17T14:30:03.628Z","dependency_job_id":"1b4ce03a-3b92-4715-bf70-0c06c0f02209","html_url":"https://github.com/dfleta/bicipalma","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dfleta/bicipalma","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fbicipalma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fbicipalma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fbicipalma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fbicipalma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfleta","download_url":"https://codeload.github.com/dfleta/bicipalma/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fbicipalma/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264171765,"owners_count":23567751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aggregation","array","elvis-operator","gradle-sourcesets","has-a-relationship","loops","ocp","primitive-types","refactoring","srp"],"created_at":"2024-12-03T13:13:52.474Z","updated_at":"2025-07-08T01:08:16.427Z","avatar_url":"https://github.com/dfleta.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bicipalma\n\n## Examen programación Java\n\nExamen de programación DAW Dual Java de febrero de 2014, CIFP Francesc de Borja Moll, Palma (Illes Balears).\n\n- Arrays estáticos\n- Tipos primitivos\n- loops\n- SRP\n- OCP\n- Tiene una /has-a\n- Composición (agregación fuerte)\n- TDD :(\n- Refactorización\n- Gradle sourceSets\n\n## DDD\n\n![Diagrama de clases UML](./diagrama_clases_UML.png \"Diagrama de clases UML\")\n\n### Consideraciones\n\nSe 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.\n\nSe ha aplicado DDD, SRP y OCP para destilar las responsabilidades en rutinas testeables.\n\nSe añadieron los casos test mínimos que corresponden a las historias de usuario que se indican en el `main`. No se empleó TDD.\n\nSe 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.\n\nNo 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.\n\nSobre el patrón AAA (Arrange, Act, Assert) usado para escribir los casos test de unidad:\n\n[Unit test basics, Learn Visual Studio Testing](https://learn.microsoft.com/en-us/visualstudio/test/unit-test-basics?view=vs-2022#write-your-tests)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fbicipalma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfleta%2Fbicipalma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fbicipalma/lists"}