Software Development · IT & Software

Refactor a large function into clean modules

Refactor a long, hard-to-read function into clean, tested modules without changing its behaviour. An expert, step-by-step prompt with inputs, method, deliverables, rules and a quality check.

Your prompt is ready 5 brackets to fill
You are a senior developer who specialises in safe refactoring.
I work in IT & Software: a software company that ships a SaaS product. This work matters to engineering leads, developers and IT buyers.

## Goal
Refactor a long, hard-to-read function into clean, tested modules without changing its behaviour.

## What matters in IT & Software
- Rules and standards that usually apply: data-protection law (GDPR in the EU, the DPDP Act 2023 in India, CCPA in California); SOC 2 or ISO 27001 security audits; OWASP secure-coding practice; open-source licence terms; the uptime and support promises in customer SLAs.
- Common risks to plan for: outages; data breaches and security holes; vendor lock-in; scope creep; knowledge held by one person; churn after a bad release.
- Tools commonly used: GitHub or GitLab; Jira; Slack; AWS, Azure or GCP; Datadog or Grafana; PostgreSQL or MySQL.
- Words people in this field use: SaaS; multi-tenant; SLA; incident; sprint; release; tech debt; API; ARR.
- Rules differ by country. If I have not said where I work, ask me, and do not present one country's law as if it applied everywhere.

## What I will give you
- The code: [PASTE CODE]
- Language and version: [LANGUAGE]
- Existing tests: [YES OR NO, PASTE IF ANY]
- What changes we expect next: [FUTURE CHANGES]
- Anything else you should know: [EXTRA CONTEXT, or "none"]

## How to work through it
1. Restate the technical problem, the constraints (language, framework, versions, runtime) and what "done" means. List what you need to see that I have not given you.
2. Describe what the code does today, including odd behaviour that must be kept.
3. Write characterisation tests that lock in current behaviour.
4. Identify responsibilities and name them.
5. Extract them step by step, running tests after each step.
6. Remove duplication and simplify conditionals.
7. Improve names and types.
8. Show the final structure and how it supports the expected changes.
9. List the edge cases, failure modes and security risks you considered, and how the solution handles each.
10. Explain how to verify the result: the exact commands, tests or checks to run, and what a pass looks like.

## What to deliver
- Behaviour summary
- Characterisation tests
- Step-by-step refactoring sequence
- Final code
- Notes on behaviour you think is a bug but kept

## Expert rules
- Write production-quality code: clear names, small functions, error handling, no placeholder comments such as "..." or TODO.
- Prefer the standard library and the tools already in my stack; justify any new dependency in one line.
- Never weaken security for convenience: validate input, use parameterised queries, keep secrets out of code.
- Respect uptime, security and data-protection requirements. If anything in my plan or inputs conflicts with them, say so plainly and suggest a fix.
- Do not invent facts, figures, laws, sources or quotes. Label anything you had to assume with "Assumption:" and tell me how to check it.

## Format
- Put each file in its own fenced code block, headed with its full path.
- Explain decisions in short bullets after the code, not as long paragraphs.
- If the answer is long, give a one-paragraph summary first.

## Before you answer
Check your draft against this list and fix anything that fails:
- The code works as written: no invented libraries, functions or APIs, and versions are named where they matter.
- Every item under "What to deliver" is complete, specific to my inputs and usable as it is, with no placeholders left for me to guess.
- Where it applies, it shows the likely effect on deployment frequency and uptime.

If something essential is missing, ask me up to 3 short questions first. Otherwise, start.
Open in ChatGPT Claude Perplexity

How to use this prompt

  1. Copy the prompt. Press Copy prompt and the full text goes to your clipboard.
  2. Fill the brackets. Use the form above, or replace [PASTE CODE], [LANGUAGE], [YES OR NO, PASTE IF ANY], [FUTURE CHANGES], [EXTRA CONTEXT, or "none"] with your own details.
  3. Paste and send. Paste it into ChatGPT, Claude, Gemini and DeepSeek and send. Ask follow-up questions to refine the answer.

Why use this Refactor a large function into clean modules prompt?

This refactor a large function into clean modules prompt is written for a software company that ships a SaaS product. It tells the assistant who the answer is for (engineering leads, developers and IT buyers) and the limits it must respect: uptime, security and data-protection requirements. That context is what turns a generic reply into one an IT & Software team can use straight away.

Most people type a single line and get a generic answer back. This prompt gives the assistant the role, the context and the structure it needs, so the first answer is already close to what you would hand to your team. Because it is written for IT & Software, it keeps the focus on what that industry measures: deployment frequency and uptime.

How to get the best answer

  1. Be specific in the brackets: real names, numbers and dates give a far better answer than placeholders.
  2. Paste real material: where the prompt asks for notes, data or text, paste the actual content rather than a summary.
  3. Refine in the same chat: ask "make it shorter", "turn it into a table" or "add more detail on step 2".
  4. Check the result: review it against what you know about deployment frequency and uptime before you share it.

FAQ

Frequently asked questions

Which AI assistant works best with this Refactor a large function into clean modules prompt?

It works in any chat assistant. It suits ChatGPT, Claude, Gemini and DeepSeek best. Paste it in, send it, and ask follow-up questions in the same chat.

What do I need to replace before sending it?

Replace the 5 highlighted brackets – [PASTE CODE], [LANGUAGE], [YES OR NO, PASTE IF ANY], [FUTURE CHANGES], [EXTRA CONTEXT, or "none"] – with your own details. The more specific you are, the better the answer.

Is this prompt only for IT & Software?

This version is written for a software company that ships a SaaS product. The same prompt is also available for 0 other industries, listed on this page.

Is it free to use?

Yes. Copy it as often as you like and use it in your own work. No sign-up is needed.

Can I trust the answer?

Treat it as a strong first draft. Check facts and figures yourself, especially anything with legal, financial, medical or safety consequences.

Keep exploring

Browse more IT & Software prompts