awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektMCP-ServerÜber unsRanking-MethodikPresse
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
emilybache avatar

emilybache/GildedRose-Refactoring-Kata

0
View on GitHub↗
4,244 Stars·6,059 Forks·XSLT·MIT·11 Aufrufeyoutu.be/Mt4XpGxigT4↗

GildedRose Refactoring Kata

This project is a refactoring kata collection and software design education resource. It provides a set of intentionally messy codebases and multi-language code samples designed for practicing incremental design, legacy code modernization, and software restructuring.

The collection serves as a training material for test-driven development, focusing on the use of golden master testing suites and approval testing to ensure functional parity while evolving source code. It includes a universal learning baseline by implementing identical complex business rules across several different programming languages.

The system covers a range of capabilities including inventory management simulation, where users update item quality and sell-in values based on specific aging rules. It supports a full verification workflow including the generation of coverage reports, the execution of unit and regression tests, and the use of BDD scenarios to verify system behavior.

Educational support is provided through refactoring workshops and the use of activity diagrams to trace design evolution.

Features

  • Refactoring Skill Practice - Provides intentionally messy codebases for developers to practice incremental design and software restructuring.
  • Refactoring Exercises - Provides a set of intentionally messy codebases for practicing incremental design and test-driven refactoring.
  • Code Katas - Collections of intentionally messy codebases used as exercises for practicing design, testing, and refactoring.
  • Item Aging Simulations - Simulates the aging of stock items to verify the accuracy of quality and sell-in degradation logic.
  • Inventory Management - Simulates inventory management by updating expiration dates and quality values based on specific business rules.
  • Degradation Simulations - Tracks inventory degradation by updating quality and sell-in values daily based on product expiration rules.
  • Code Refactoring Tools - Provides intentionally messy codebases for practicing the restructuring and modernization of source code.
  • Educational Exercises - Offers a set of intentionally messy codebases for practicing legacy code modernization and software restructuring.
  • Refactoring Utilities - Offers targeted exercises for performing safe, incremental code transformations on legacy logic.
  • Software Design Principles - Combines code samples and diagrams to teach fundamental architectural philosophies and refactoring patterns.
  • Language Agnostic Learning - Provides a language-agnostic learning baseline by implementing the same business rules across multiple programming languages.
  • Multi-Language Implementations - Provides a language-agnostic learning baseline by implementing the same business rules across multiple programming languages.
  • TDD Training Materials - Provides a baseline implementation specifically designed for hands-on practice with TDD, regression, and approval tests.
  • Item Quality Logic - Implements business rules for adjusting product quality and sell-in dates based on expiration speeds and caps.
  • Practice Implementations - Provides baseline implementations of complex business logic for practicing incremental design and test creation.
  • Multi-Language Code Collections - Provides identical business rule implementations across multiple programming languages as a universal learning baseline.
  • Application Logic Implementations - Implements core business logic for inventory management as a baseline for refactoring practice.
  • Code Modernization Guides - Provides a framework for practicing the safe transformation of legacy business rules into modern structures.
  • Incremental Refactoring Practices - Implements a structured approach to evolving a flawed codebase through safe, small, test-driven changes.
  • Software Development Education - Serves as a resource for teaching software engineering practices through the transformation of legacy code.
  • Approval Testing - Implements approval testing by comparing system outputs against golden master files to ensure functional parity during refactoring.
  • Behavioral Parity Verifiers - Uses comprehensive test suites to ensure functional parity is maintained while evolving the source code.
  • Golden Master Testing - Implements golden master testing to detect behavioral regressions by comparing program output against reference files.
  • Regression Testing Suites - Provides a framework for creating regression tests to ensure new changes do not break existing business logic.
  • Test-Driven Development Resources - Provides a pedagogical environment for learning TDD by writing failing tests before implementing complex logic.
  • Refactoring Diagrams - Uses activity diagrams to teach continuous refactoring concepts to non-programmers and analysts.
  • State-Based Logic Simulations - Implements a simulation to process business days and track the degradation of item quality and sell-in values.
  • Automated Test Execution - Ships automated test execution to verify software functionality during the refactoring process.
  • Refactoring Loops - Provides a framework for iteratively applying small design changes verified by continuous test execution.
  • Logic State Simulations - Implements simulations that track data structure transitions of item quality over discrete business days for educational purposes.
  • Workshop Formats - Provides structured workshop formats using cases and diagrams to lead groups through incremental design exercises.
  • Golden Master Workflows - Implements a workflow for capturing, approving, and comparing large text outputs to verify refactoring safety.
  • Modernization Exercises - Offers structured challenges to transform complex legacy business logic into a clean, maintainable architecture.
  • Manual Refactoring Techniques - Provides a baseline for performing manual, incremental improvements and safety testing on flawed code.
  • Educational Test Suites - Provides educational test suites designed to document existing behavior before applying incremental design changes.
  • BDD Specification Mappings - Maps human-readable behavioral requirements to executable automation steps to verify system logic.
  • Database Test Case Executors - Provides a database-level framework to execute test cases and verify the correctness of logic changes.
  • Snapshot Testing - Records serialized data states to disk to ensure behavior remains consistent across refactoring iterations.
  • Test Fixture Systems - Includes systems to manage the environment and data setup required for running automated test sequences.
  • Characterization Tests - Uses comprehensive test suites to document legacy behavior as a safety net for incremental design changes.
  • Test Coverage Metrics - Provides reports measuring the percentage of source code exercised by the test suite to identify verification gaps.
  • Unit Testing and Code Coverage - Provides utilities for executing component tests and analyzing code coverage to verify refactoring results.
  • Unit Testing Frameworks - Ships with unit testing frameworks to validate individual logic components using assertions.
  • Coding Exercises - A well-known exercise for refactoring complex legacy inventory code.

Star-Verlauf

Star-Verlauf für emilybache/gildedrose-refactoring-kataStar-Verlauf für emilybache/gildedrose-refactoring-kata

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu GildedRose Refactoring Kata

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit GildedRose Refactoring Kata.
  • quii/learn-go-with-testsAvatar von quii

    quii/learn-go-with-tests

    23,510Auf GitHub ansehen↗

    This project is an educational platform and tutorial series designed to teach the Go programming language through the practice of test-driven development. It provides a structured path for developers to master language fundamentals, concurrency, and standard library usage by building functional applications in small, verifiable increments. The core methodology centers on the test-driven development cycle, where failing tests are written before implementation to define requirements and ensure code correctness. This approach is applied across a wide range of practical scenarios, including the c

    Gogogolangtdd
    Auf GitHub ansehen↗23,510
  • yanhaijing/jslib-baseAvatar von yanhaijing

    yanhaijing/jslib-base

    953Auf GitHub ansehen↗

    This project provides a standardized development environment and infrastructure for creating, testing, and publishing JavaScript and TypeScript libraries. It serves as a comprehensive toolkit for managing the entire software lifecycle, from initial project scaffolding to the final distribution of production-ready code. The project distinguishes itself by integrating automated release pipelines and continuous integration workflows directly into the development process. It enforces strict quality standards through pre-configured hooks that handle linting, formatting, and commit message validati

    JavaScriptboilerplatejs-libsjs-scaffold
    Auf GitHub ansehen↗953
  • mouredev/retos-programacion-2023Avatar von mouredev

    mouredev/retos-programacion-2023

    5,617Auf GitHub ansehen↗

    This project is a git-based collection of programming logic exercises and weekly coding challenges. It serves as a language-agnostic learning resource and a multi-language code repository where users practice software development skills regardless of the specific syntax used. The repository functions as a collaborative environment where participants submit custom code implementations via pull requests. It enables users to track their progress and perform collaborative code reviews by comparing different implementation strategies and community corrections. The system organizes these contribut

    Pythonchallengescsharpdart
    Auf GitHub ansehen↗5,617
  • blakeembrey/code-problemsAvatar von blakeembrey

    blakeembrey/code-problems

    3,803Auf GitHub ansehen↗

    This repository is a curated collection of algorithmic challenges and programming exercises designed to support software engineering skill development and technical interview preparation. It provides a structured library of common coding tasks, each organized within a hierarchical directory system that encapsulates specific problem requirements and associated assets. The project distinguishes itself by maintaining multi-language reference implementations for each problem, allowing for the direct comparison of syntax and idiomatic approaches across different programming environments. This reso

    JavaScript
    Auf GitHub ansehen↗3,803
Alle 30 Alternativen zu GildedRose Refactoring Kata anzeigen→

Häufig gestellte Fragen

Was macht emilybache/gildedrose-refactoring-kata?

This project is a refactoring kata collection and software design education resource. It provides a set of intentionally messy codebases and multi-language code samples designed for practicing incremental design, legacy code modernization, and software restructuring.

Was sind die Hauptfunktionen von emilybache/gildedrose-refactoring-kata?

Die Hauptfunktionen von emilybache/gildedrose-refactoring-kata sind: Refactoring Skill Practice, Refactoring Exercises, Code Katas, Item Aging Simulations, Inventory Management, Degradation Simulations, Code Refactoring Tools, Educational Exercises.

Welche Open-Source-Alternativen gibt es zu emilybache/gildedrose-refactoring-kata?

Open-Source-Alternativen zu emilybache/gildedrose-refactoring-kata sind unter anderem: quii/learn-go-with-tests — This project is an educational platform and tutorial series designed to teach the Go programming language through the… yanhaijing/jslib-base — This project provides a standardized development environment and infrastructure for creating, testing, and publishing… mouredev/retos-programacion-2023 — This project is a git-based collection of programming logic exercises and weekly coding challenges. It serves as a… rubberduck-vba/rubberduck — Rubberduck is a development environment extension designed for legacy Visual Basic and Visual Basic for Applications… blakeembrey/code-problems — This repository is a curated collection of algorithmic challenges and programming exercises designed to support… juancrg90/clean-code-notes — Clean-Code-Notes is a clean code study guide and a collection of detailed notes based on professional software…