美文网首页TDD
TDD Kata - 镶金玫瑰(GildedRose)

TDD Kata - 镶金玫瑰(GildedRose)

作者: 袁慎建 | 来源:发表于2020-06-03 19:14 被阅读0次

需求背景

“镶金玫瑰”!这是一家魔兽世界里的小商店。出售的商品也都是高质量的。但不妙的是,随着商品逐渐接近保质期,它们的质量也不断下滑。现邀请你开发一个IT系统,从而能够在每过去一天后,对商店中商品的信息做出对应的更新。

首先,简单介绍一下我们的商品特性:

  1. 所有商品都有一个SellIn值,这是商品距离过期的天数,最好在这么多天之内卖掉
  2. 所有商品都有一个Quality值,代表商品的价值
  3. 商品的SellIn值和Quality值,它们每天会发生变化,但是会有特例

商品的价格规则说明如下:

  1. 商品每过一天价值会下滑1点 ,一旦过了保质期,价值就以双倍的速度下滑
  2. 商品的价值永远不会小于0,也永远不会超过50
  3. 陈年干酪(Aged Brie)是一种特殊的商品,放得越久,价值反而越高
  4. 萨弗拉斯(Sulfuras)是一种传奇商品,没有保质期的概念,质量也不会下滑
    • 后台门票(Backstage pass)和陈年干酪(Aged Brie)有相似之处:
    • 越接近演出日,商品价值Quality值反而上升
    • 在演出前10天,价值每天上升2点
    • 演出前5天,价值每天上升3点
    • 一旦过了演出日,价值就马上变成0

视频演示

相关文章

  • TDD Kata - 镶金玫瑰(GildedRose)

    需求背景 “镶金玫瑰”!这是一家魔兽世界里的小商店。出售的商品也都是高质量的。但不妙的是,随着商品逐渐接近保质期,...

  • Tasking时,数据非法了怎么办?

    该问题的上下文是源于镶金玫瑰TDD: "镶金玫瑰"!这是一家魔兽世界里的小商店。出售的商品也都是高价值的。但不妙的...

  • TDD Kata 之括号配对

    新年将至,微信里满屏都是年会和中奖,透露着越来越近的节日气氛。小波同学在TDD群里抛出了一道题。 来抛个题,想了一...

  • TDD Kata - 保龄球(Bowling)Coding

    阅读本文后,希望你能够有如下收获: 能够采用TDD的方式实现保龄球业务需求。 掌握TDD的节奏:红(失败测试)、绿...

  • TDD Kata - 保龄球(Bowling)Tasking

    需求背景 请你设计一个计算保龄球比赛一局总得分的程序,保龄球的计分规则如下: 每一局总共有十轮,每轮一开始会有十支...

  • TDD Kata - FizzBuzz基础版

    需求背景 你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有N名学生在上课。游戏的规则是: ...

  • TDD入门首选,Bowling Kata

    Bowling Game是一道经典的编程Kata,而且是Bob大叔推荐的Kata,那么它究竟有什么样的魅力呢?这次...

  • TDD私有方法测还是不测

    记录和分享一个经典kata, 题目是如何打印一个钻石型的字符。 按照TDD的套路,从最简单的开始,第一个开始 'A...

  • 深度解读 - TDD(测试驱动开发)

    本文结构: 什么是 TDD 为什么要 TDD 怎么 TDD FAQ 学习路径 延伸阅读 什么是 TDD TDD 有...

  • 每日kata~01-Josephus Survivor

    题目 kata: https://www.codewars.com/kata/555624b601231dc7a4...

网友评论

    本文标题:TDD Kata - 镶金玫瑰(GildedRose)

    本文链接:https://www.haomeiwen.com/subject/vvdlzhtx.html