mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
Merge branch 'main' of https://github.com/Decker-Matthew-R/Group2-GildedRose-Refactoring-Kata
This commit is contained in:
commit
0610ce9f85
27
Dev-Env-Setup.md
Normal file
27
Dev-Env-Setup.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Development Environment Setup
|
||||
|
||||
The following instructions will help you set up your development for our mob session. It is important that the dev environment is set up PRIOR to the mob session.
|
||||
The mob session will likely take several hours and not having the dev environment set up prior will likely add a few more hours.
|
||||
|
||||
1. Clone this repo to the place of your choice
|
||||
- From the main repo screen, copy the https code for this repo.
|
||||
- From command line: cd <destination you wish to store the local project folder>
|
||||
- Once you verify you are in the file path that you want: git clone <past https code copied from repo>
|
||||
- You will now recieve text from the command line letting you know the objects were recieved.
|
||||
2. Download Visual Studio Code (I chose to use Visual Studio Code for Junit integration but other IDEs will work as well). If you choose a different set up, please **verify** it works before the mob!
|
||||
- If you choose to download Visual Studio Code, please use the following link: https://code.visualstudio.com/download
|
||||
- If you already have VS Code installed, from command line: "code -v" will let you know what version you have.
|
||||
- We must now download the appropriate Java Extensions for VS Code
|
||||
- On the left hand task bar, click the extensions button (Looks like a square with for quadrants and one of the quadrants is being removed).
|
||||
- Search "Extension Pack for Java" and you should see the Extension Pack for Java by Microsoft appear. Click the "Install" button.
|
||||
3. Download Java SE and Verify it is Installed
|
||||
- In the command line: java -version (this will let you know if java is installed and what version you have.
|
||||
- If you do not have Java installed, go to: https://www.oracle.com/java/technologies/downloads/ and follow the download/setup instructions.
|
||||
- To check if you need to update Java SE: type "Configure Java" in the search bar of Windows 10.
|
||||
- Run the application
|
||||
- Click the "Update Tab"
|
||||
- Click "Update Now" at the bottom of the screen.
|
||||
- Java SE should now be updated.
|
||||
4. Download JUnit
|
||||
- Click: https://github.com/junit-team/junit4/wiki/Download-and-Install
|
||||
-This will download the .jar required. Click the download and follow set up instructions.
|
||||
@ -1,37 +0,0 @@
|
||||
# ข้อกำหนดความต้องการของระบบ Gilded Rose
|
||||
|
||||
ยินดีต้อนรับสู่ทีม Gilded Rose อย่างที่คุณทราบแล้วว่า เราคือโรงแรมขนาดเล็กที่ตั้งอยู่ทำเลทองของประเทศกรุงเทพ
|
||||
นอกจากนี้เรายังซื้อและขายเฉพาะสินค้าที่ดีที่สุด แต่น่าเสียดายยิ่งใกล้ถึงวันกำหนดขายสินค้า คุณภาพของสินค้าก็จะลดลงอย่างต่อเนื่อง
|
||||
ตอนนี้เรามีระบบที่ช่วยอัปเดตสินค้าคงคลังให้เรา มันถูกพัฒนาโดยโปรแกรมเมอร์ศิษย์เอกของพระอินทร์ ซึ่งโปรแกรมเมอร์คนนี้ได้ย้ายกลับไปอยู่กับพระอินทร์
|
||||
เป็นการถาวรแล้ว เราจึงอยากให้คุณช่วยเพิ่มฟีเจอร์ใหม่เพื่อให้เราสามารถขายสินค้าประเภทใหม่ได้
|
||||
|
||||
ก่อนอื่นเราขอแนะนำการทำงานของระบบปัจจุบัน:
|
||||
|
||||
- สินค้าแต่ละชิ้นจะต้องขายภายในระยะเวลาที่กำหนดไว้ในค่า "SellIn" (มีหน่วยเป็น*วัน*)
|
||||
- สินค้าแต่ละชิ้นจะระบุค่า "Quality" ที่สามารถบ่งชี้ถึงมูลค่าของสินค้า
|
||||
- ระบบจะทำการคำนวนค่า "SellIn" และ "Quality" ของสินค้าทุกชิ้นในช่วงเวลาสุดท้ายของทุกวัน
|
||||
|
||||
ง่ายอะดิ, ใช่ป่ะ? สิ่งที่น่าสนใจมันอยู่ตรงนี้:
|
||||
|
||||
- เมื่อสินค้าเลยกำหนดขายไปแล้ว "Quality" ของสินค้าจะลดลงเป็นสองเท่าจากปกติ
|
||||
- "Quality" ของสินค้าไม่มีทางติดลบได้
|
||||
- คุณภาพของสินค้าประเภท "Aged Brie" จะเพิ่มสูงขึ้นตามระยะเวลา
|
||||
- "Quality" มีค่าสูงสุดคือ 50
|
||||
- สินค้าประเภท "Sulfuras" เป็นสินค้าในตำนานหายาก คุณภาพของสินค้าจะไม่ลดลงและไม่ได้มีไว้เพื่อขาย
|
||||
- สินค้าประเภท "Backstage passes" คุณภาพของสินค้าเหมือนกันกับสินค้าประเภท aged brie
|
||||
เพียงแต่หากใกล้ถึงวันแสดง 10 วันก่อนหน้าหรือน้อยกว่าคุณภาพของสินค้าประเภทนี้จะเพิ่มทีละ 2 และถ้าใกล้ถึงวันก่อนวันแสดง 5 วันหรือน้อยกว่าคุณภาพจะเพิ่มทีละ 3
|
||||
อย่างไรก็ตามคุณภาพของสินค้าจะกลายเป็น 0 ทันทีหลังการแสดงจบลง
|
||||
|
||||
เมื่อเร็วๆ นี้เราพึ่งได้ลงนามกับผู้ผลิตสินค้าประเภทของขลังและของปลุกเสก
|
||||
และเราต้องการที่จะเพิ่มความสามารถใหม่เข้าไปในระบบ:
|
||||
|
||||
- คุณภาพสินค้าประเภท "Conjured" จะเสื่อมลงเร็วกว่าสินค้าปกติถึงสองเท่าจากปกติ
|
||||
|
||||
คุณสามารถปรับปรุงแก้ไขได้ทุกอย่างภายในเมธอด UpdateQuality และสามารถเพิ่มโค้ดใหม่ได้เลย
|
||||
ตราบใดที่ทุกอย่างยังคงทำงานได้ถูกต้อง อย่างไรก็ตามห้ามแก้ไขคลาส Item และคุณสมบัติของคลาส
|
||||
เพราะมันถูกลงอาคมจากโปรแกรมเมอร์จอมขมังเวทย์ที่ไม่เชื่อในเรื่องการแบ่งปันความเป็นเจ้าของโค้ดร่วมกับผู้อื่น
|
||||
(ถ้าคุณยังอยากจะแก้ไขทั้งเมธอด UpdateQuality และคุณสมบัติของคลาส Item เราก็จะ
|
||||
นิมนต์หลวงปู่เค็มมาช่วยคุ้มกันคุณ)
|
||||
|
||||
ย้ำอีกครั้งหนึ่ง, คุณภาพของสินค้ามีค่าสูงสุดคือ 50
|
||||
อย่างไรก็ตามสินค้าประเภท "Sulfuras" เป็นสินค้าหายากในตำนานมีค่า Quality เป็น 80 เสมอไม่เปลี่ยนแปลง.
|
||||
@ -1,6 +1,11 @@
|
||||
# Group 2 Gilded Rose Refactoring Kata
|
||||
|
||||
# Group 2 Gilded Rose Refactoring Kata
|
||||
#### SWE6733 - Emerging Software Engineering Processes - Dr. Reza Parizi
|
||||
|
||||
#### **Group 2:**
|
||||
Matt Decker
|
||||
Devika Kandel Neupane
|
||||
Ifeanyi Okoye
|
||||
Cameron Mitchel Page
|
||||
|
||||
This Kata was originally created by Terry Hughes (http://twitter.com/TerryHughes). It is already on GitHub [here](https://github.com/NotMyself/GildedRose). See also [Bobby Johnson's description of the kata](http://iamnotmyself.com/2011/02/13/refactor-this-the-gilded-rose-kata/).
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user