Skip to content

DotNetters/GildedRoseKata

Repository files navigation

Kata de refactoring Gilded Rose (#FridayDojo con @AgileAragon)

Introducción

En este repositorio se encuentra el código de nuestra participación en las katas de refactoring que organizaron la gente de Agile Aragón y SenpaiDevs el 27/04/2016 y 10/06/2016

Entorno

El entorno de desarrollo necesario para utilizar el código de esta kata se compone de:

  • Visual Studio Community 2015: versión gratuita de nuestro IDE favorito para trabajar con .NET
  • NUnit: framework utilizado para implementar las pruebas.
  • OpenCover + OpenCover UI: herramienta para analizar la cobertura de pruebas y extensión para Visual Studio que permite visualizar los resultados

Soluciones

Este repositorio incluye varias ramas con distintas soluciones a la cata

Se pueden ver más detalles de cada solución en la rama correspondiente

La kata Gilded Rose

(texto traducido al español por francho)

Tenemos un sistema de inventario desarrollado por un tipo un tanto peculiar y con poco sentido común llamado Leeory, ahora esta persiguiendo nuevas aventuras!, tanta paz lleves como descanso dejas amigo Leeroy!. Tu tarea consiste en añadir una nueva funcionalidad al sistema para que podamos empezar a vender una nueva categoría de items. Para empezar una pequeña introducción a nuestro sistema:

  • Todos los items tienen una fecha de venta, SellIn , que especifica el número de días que tenemos para vender el item.
  • Todos los items tienen una calidad , Quality , que especifica el valor que tiene un item.
  • Al final del día el sistema reduce los valores para los dos valores de cada item.

Simple ¿no?, ahora empieza lo interesante:

  • Los items degradan la calidad en una unidad por cada actualización.
  • Cuando la fecha de venta a pasado, la calidad degrada al doble de velocidad.
  • La calidad de un item no es nunca negativa.
  • El item "aged brie" incrementa su calidad en lugar de decrementarla según pasan los días.
  • La calidad de un item nunca es mayor de 50.
  • El item "Sulfuras", nuestro articulo más legendario!, nunca debe venderse ni disminuye su calidad.
  • los "backstage passes" incrementan su calidad conforme se aproxima la fecha de venta. La calidad se incrementa por dos cuando quedan 10 días o menos para el concierto, por 3 cuando quedan 5 días o menos. Sin embargo la calidad disminuye a 0 después del concierto.

Hemos firmado un nuevo acuerdo para vender items "conjured", sin embargo necesitamos un cambio en el sistema:

  • Los items "conjured" disminuyen de calidad el doble de rápido que el resto.

Por supuesto puedes hacer cualquier cambio al método updateQuality si lo consideras necesario mientras que todo siga funcionando claro esta!. Sin embargo hay dos cosas que no puedes hacer:

  • Cambiar el interfaz y la forma de uso de GildedRose (la función update_quality), es fea, lo sabemos, pero tenemos muchos sistemas que la utilizan y no vamos a cambiarlos todos ahora!
  • ¡No puedes tocar la clase item!. Pertenece a una especie de goblin asesino que no cree en cosas como la propiedad colectiva del código.

About

Kata de refactoring Gilded Rose (#FridayDojo con @AgileAragon)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages