◆ JavaScript

Refactor duplicate code

This is real work, not a feature someone invented — it comes from real job ads and real questions people asked. Below are four ready AI prompts: get it done, make it easy for the next person to say yes to, work out the right move when you are stuck, and stop it coming back.

4prompts

The same task, four prompts

today's deadline · the next reviewer · the stuck moment · the pattern
AExecute — do the immediate taskTwo components, UserCard.jsx and MemberCard.jsx, duplicate rendering of avatar, name and role.…+
Two components, UserCard.jsx and MemberCard.jsx, duplicate rendering of avatar, name and role. Refactor to extract a shared AvatarNameRole component in components/common/AvatarNameRole.jsx, update both callers to use it, keep prop names the same for backwards compatibility, and run unit tests before committing 'refactor: extract AvatarNameRole'.
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?
BImprove — make it easier to acceptBefore extracting the shared component, make reviewing simpler: show the duplicate JSX blocks…+
Before extracting the shared component, make reviewing simpler: show the duplicate JSX blocks and the minimal shared props, propose a single prop API that preserves current behavior, list edge cases like missing role or avatars, and highlight any CSS class differences that need consolidating so the reviewer can accept the refactor quickly.
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?
CDecide — diagnose the stuck momentI discovered nearly identical avatar-and-name JSX in UserCard and MemberCard. I want to extract…+
I found near-identical JSX in two places.
I discovered nearly identical avatar-and-name JSX in UserCard and MemberCard. I want to extract a shared component but worry about subtle styling differences and prop expectations that could break downstream pages. I can’t tell which differences are intentional. Which tests and quick manual checks should I run to safely extract the component and preserve current behavior across the site?
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?
DBecome — change the patternOver time we end up with many near-duplicate components because each engineer extracts a…+
We keep extracting the same component slightly differently each time.
Over time we end up with many near-duplicate components because each engineer extracts a version just for their page, causing combinatorial maintenance cost. Where do we consistently lose time and credibility—naming, prop shape, CSS scope, or lack of a shared component library—and what single habit would reduce duplicate drift most effectively?
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?

Questions people actually ask

honest answers, no sign-up

Every task here was seen in the real world. Someone doing the job named it, a real job ad asked for it, or a lot of people asked about it online.

If nothing real showed a task, it is not on the page. That is the whole rule.

They are the same job approached four ways, because what you need depends on where you are.

Get it done today. Make it easy for the next person to say yes to. Work out the right move when you are stuck. Learn the pattern so the job stops coming back.

For most of these jobs it can carry the heavy thinking - draft it, sort it, check it, rehearse it with you.

It cannot sit in your chair, take the blame when a number is wrong, or notice what nobody wrote down. Let it do the first 80%. Keep the last 20% that is truly yours.

No. Copy any prompt and paste it into the AI you already use. No account, no score, no wall in the way.

Any of them. The prompts describe the work rather than naming a product, so they are not tied to one assistant.

That is also why they keep working when you switch.

Change it freely. Every prompt is a starting line, not a rule.

Put in your real numbers, your real names and your real deadline. The more you make it yours, the better the answer comes back.

The tasks come from real job ads, published job data and the questions people ask in public forums.

The steps come from JavaScript's own documentation, with practitioner sources for the traps the manual does not mention.

Push once. Ask it to sharpen the weakest part and to say what it assumed.

Most wrong answers come from a missing detail rather than a bad prompt - tell it the thing it could not know.