awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
emilybache avatar

emilybache/GildedRose-Refactoring-Kata

0
View on GitHub↗
4,244 星标·6,059 分支·XSLT·MIT·11 次浏览youtu.be/Mt4XpGxigT4↗

GildedRose Refactoring Kata

该项目是一个重构 Kata 集合和软件设计教育资源。它提供了一组故意混乱的代码库和多语言代码示例,旨在练习增量设计、遗留代码现代化和软件重构。

该集合作为测试驱动开发 (TDD) 的培训材料,专注于使用黄金主测试套件和批准测试,以在演进源代码的同时确保功能对等。它通过在几种不同的编程语言中实现相同的复杂业务规则,提供了一个通用的学习基准。

该系统涵盖了一系列功能,包括库存管理模拟,用户根据特定的老化规则更新商品质量和销售价值。它支持完整的工作流验证,包括生成覆盖率报告、执行单元测试和回归测试,以及使用 BDD 场景来验证系统行为。

通过重构研讨会和使用活动图来跟踪设计演进,提供教育支持。

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 历史

emilybache/gildedrose-refactoring-kata 的 Star 历史图表emilybache/gildedrose-refactoring-kata 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

GildedRose Refactoring Kata 的开源替代方案

相似的开源项目,按与 GildedRose Refactoring Kata 的功能重合度排序。
  • quii/learn-go-with-testsquii 的头像

    quii/learn-go-with-tests

    23,510在 GitHub 上查看↗

    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
    在 GitHub 上查看↗23,510
  • yanhaijing/jslib-baseyanhaijing 的头像

    yanhaijing/jslib-base

    953在 GitHub 上查看↗

    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
    在 GitHub 上查看↗953
  • mouredev/retos-programacion-2023mouredev 的头像

    mouredev/retos-programacion-2023

    5,617在 GitHub 上查看↗

    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
    在 GitHub 上查看↗5,617
  • blakeembrey/code-problemsblakeembrey 的头像

    blakeembrey/code-problems

    3,803在 GitHub 上查看↗

    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
    在 GitHub 上查看↗3,803
查看 GildedRose Refactoring Kata 的所有 30 个替代方案→

常见问题解答

emilybache/gildedrose-refactoring-kata 是做什么的?

该项目是一个重构 Kata 集合和软件设计教育资源。它提供了一组故意混乱的代码库和多语言代码示例,旨在练习增量设计、遗留代码现代化和软件重构。

emilybache/gildedrose-refactoring-kata 的主要功能有哪些?

emilybache/gildedrose-refactoring-kata 的主要功能包括:Refactoring Skill Practice, Refactoring Exercises, Code Katas, Item Aging Simulations, Inventory Management, Degradation Simulations, Code Refactoring Tools, Educational Exercises。

emilybache/gildedrose-refactoring-kata 有哪些开源替代品?

emilybache/gildedrose-refactoring-kata 的开源替代品包括: 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…