Safe Incremental Refactoring Plan for Complex Legacy Code
Formulate a phased refactoring strategy using the Mikado Method and Strangler pattern to eliminate risk.
Compatibility & Specs
175 words • 1260 characters
Customize Prompt
Fill in the variables below. Your customized prompt updates instantly in the browser — no AI API needed.
Language, size, and responsibilities of the module
Why this code is hazardous to touch today
Desired decoupled architecture
Existing automated test posture
How to Use This Prompt
Follow this 3-step workflow to extract high-signal responses from any compatible AI model.
1. Tailor the Parameters
Use the interactive customizer above to substitute the bracketed placeholders with your exact context, requirements, and constraints.
2. Send to AI Model
Copy the prompt and paste it into Claude, ChatGPT, Gemini, or Copilot. These models follow structured multi-step constraints reliably.
3. Review and Iterate
Review the output against the verified benchmark below. Follow up in the conversation to stress-test edge cases or refine tone.
Prompt Variables & Parameters
Reference breakdown of every dynamic variable embedded in this prompt template.
| Placeholder | Parameter Name | Type | Status | Description & Guidance |
|---|---|---|---|---|
| [legacy_code_context] | Legacy Code Context | textarea | Required | Language, size, and responsibilities of the moduleDefault: A 900-line TypeScript checkout service (`processOrder`) that directly executes SQL queries, makes inline synchronous Stripe payment calls, mutates inventory rows, and triggers email notifications within a single try/catch block. |
| [operational_pain] | Operational Pain | textarea | Required | Why this code is hazardous to touch todayDefault: Whenever payment logic is updated, inventory count errors occur. Unit testing is impossible because database connections and third-party Stripe SDK calls are hard-coded inline. |
| [target_state] | Target Clean State | text | Required | Desired decoupled architectureDefault: A domain-driven `CheckoutService` with dependency-injected interfaces (`IPaymentGateway`, `IInventoryRepository`) that publishes an `OrderPlaced` domain event for asynchronous notifications. |
| [test_coverage] | Current Test Coverage | text | Required | Existing automated test postureDefault: Zero unit tests; 1 flakey end-to-end Selenium test in staging. |
Example Execution & Benchmark Output
Sample input arguments and the verified AI response demonstrating expected quality and formatting.
Best Use Cases
Scenarios and roles where this prompt produces maximum leverage.
Tips for Best Results
Techniques to elevate response fidelity
- •Provide rich background context rather than one-sentence inputs to receive deep, non-generic responses.
- •Engage in multi-turn conversation: use the initial output as a baseline, then ask the AI to sharpen specific sections.
- •Prompt the model to highlight any hidden assumptions or missing trade-offs in its recommendations.
Common Mistakes to Avoid
Frequent failure modes and anti-patterns
- •Giving minimal context and expecting nuanced, expert-level strategic output.
- •Not validating factual references, citations, or statistical claims with verified primary sources.
- •Skipping the customization step and pasting raw bracketed template variables into the AI chat.
Related AI Prompts
Complementary workflows in Coding
Exhaustive Edge-Case Unit & Integration Test Generator
Analyze production functions to discover subtle concurrency, boundary, and null pointer edge cases and write unit tests.
OWASP Security Vulnerability & Dependency Auditor
Inspect code modules for injection vulnerabilities, insecure deserialization, broken access controls, and auth flaws.
Architectural Decision Record (ADR) Analysis & Trade-Off Matrix
Evaluate competing technical architectures, state assumptions, and document a formal Architectural Decision Record.
Related Engineering Guides
Deep-dive playbooks and system prompt methodologies for Coding
How to Write Better AI Prompts
A comprehensive playbook for crafting high-fidelity prompts: mastering context, roles, objectives, constraints, output schemas, few-shot examples, and systematic iteration.
AI Prompts for Software Developers
Turn modern LLMs into senior engineering peers: tactical prompt patterns for architecture review, edge-case test generation, root-cause debugging, and technical documentation.