Skip to content

Starting code for the GildedRose Refactoring Kata in many programming languages.

License

Notifications You must be signed in to change notification settings

codingkata/GildedRose-Refactoring-Kata

 
 

Repository files navigation

This Kata was originally created by Terry Hughes (http://twitter.com/#!/TerryHughes). It is already on GitHub here. See also Bobby Johnson's description of the kata.

====================================== Gilded Rose 需求描述

欢迎来到镶金玫瑰(Gilded Rose)团队。如你所知,我们是主城中的一个小旅店,店主非常友好,名叫Allison。我们也售卖最好的物品。不幸的是,物品品质会随着销售期限的接近而不断下降。 我们有一个系统来更新库存信息。系统是由一个无名之辈Leeroy所开发的,他已经不在这了。 你的任务是添加新功能,这样我们就可以售卖新的物品。

先介绍一下我们的系统:

- 每种物品都具备一个`SellIn`值,表示我们要在多少天之前把物品卖出去,即销售期
- 每种的物品都具备一个`Quality`值,表示物品的品质
- 每天结束时,系统会降低每种物品的这两个数值

很简单吧?这还有些更有意思的:

- 一旦销售期限过期,品质`Quality`会以双倍速度加速下降
- 物品的品质`Quality`永远不会为负值
- "Aged Brie"的品质`Quality`会随着时间推移而提高
- 物品的品质`Quality`永远不会超过50
- 传奇物品"Sulfuras"永不到期,也不会降低品质`Quality`
- "Backstage passes"与aged brie类似,其品质`Quality`会随着时间推移而提高;当还剩10天或更少的时候,品质`Quality`每天提高2;当还剩5天或更少的时候,品质`Quality`每天提高3;但一旦过期,品质就会降为0

我们最近签约了一个召唤物品供应商。这需要对我们的系统进行升级:

- "Conjured"物品的品质`Quality`下降速度比正常物品快一倍

请随意对UpdateQuality函数进行修改和添加新代码,只要系统还能正常工作。然而,不要修改Item类或其属性,因为那属于角落里的地精,他会非常愤怒地爆你头,因为他不相信代码共享所有制(如果你愿意,你可以将UpdateQuality方面和Items属性改为静态的,我们会掩护你的)。

再次澄清,每种物品的品质不会超过50,然而"Sulfuras"是一个传奇物品,因此它的品质是80且永远不变。 © 2019 GitHub, Inc.

About

Starting code for the GildedRose Refactoring Kata in many programming languages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 47.9%
  • HTML 6.5%
  • Common Lisp 3.3%
  • C++ 3.0%
  • Java 2.4%
  • Perl 2.4%
  • Other 34.5%