◆ JavaScript

Ensure enum definition doesn't change

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 taskDefine an enum for user roles with 'ADMIN', 'EDITOR', and 'VIEWER' as its members, ensuring…+
Define an enum for user roles with 'ADMIN', 'EDITOR', and 'VIEWER' as its members, ensuring these values cannot be accidentally changed later in the code.
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 we integrate the new permissions system, establish a definitive set of user roles that's…+
Before we integrate the new permissions system, establish a definitive set of user roles that's easy for other developers to reference but impossible to accidentally reassign or mutate at runtime, as inconsistent role definitions have caused security vulnerabilities in the past.
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?
CDecide — diagnose the stuck momentA junior developer just inadvertently changed the string value of 'PENDING' in our…+
A junior developer just changed an enum value for a user status, leading to unexpected behavior in the reporting module.
A junior developer just inadvertently changed the string value of 'PENDING' in our `OrderStatus` enum to 'IN_REVIEW', causing the reporting module to fail to recognize existing orders. I'm worried about future developers making similar mistakes, especially with critical status codes. What's the best practice to define these constant sets so they are clearly immutable and prevent accidental modification, without resorting to overly verbose patterns that discourage use?
when the reply comes backPush once: ask it to sharpen the weakest part, and to say what it assumed. Helpful?
DBecome — change the patternI've had several incidents where supposedly 'constant' values, like status codes or event…+
I've had multiple incidents where 'constant' values were accidentally changed or misspelled.
I've had several incidents where supposedly 'constant' values, like status codes or event types, were accidentally modified or misspelled by other developers, leading to hard-to-track bugs. This erodes trust in our data integrity. What habit should I change in how I define and expose these fixed sets of values to ensure they are truly immutable and provide clear, compile-time or linting-time feedback if someone tries to alter them?
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.