Defining vs Non-Defining Relative Clauses in Technical English
5 exercises — master the difference between defining and non-defining relative clauses in API docs, technical specs, and engineering communication.
0 / 16 completed
1 / 16
Which sentence correctly uses a defining relative clause to identify a specific API endpoint?
A defining relative clause identifies which specific endpoint is meant (the one that processes payments, not another). It requires no commas. "Which" is acceptable in defining clauses in British English; "that" is also common. Option A incorrectly uses "that" with commas (non-defining with "that" is wrong). Option C is a non-defining clause (adds extra info about an already-identified endpoint). Option D uses "who" for a non-person.
2 / 16
The team lead is describing a specific developer. Which sentence adds non-essential extra information correctly?
Option C is a non-defining relative clause: the developer is already identified (the speaker knows who they mean), and "who joined last month" is additional context, not the identifier. Commas are required. Option D is wrong because "that" cannot be used in non-defining clauses. Options A and B are defining clauses (no commas) — grammatically fine but they imply we need the clause to identify which developer, changing the meaning.
3 / 16
Fill in: "The legacy service _____ was deprecated in v3 still handles 40% of production traffic."
This is a defining relative clause — "that was deprecated in v3" identifies which service we mean (as opposed to others). No commas, and "that" is appropriate for things. "Which" without commas is also acceptable, but "that" is the canonical choice for defining clauses. Option A makes it non-defining (adds commas + which), changing the meaning. Option C uses "who" for a non-person. Option D uses "that" with a comma, which is always incorrect.
4 / 16
Choose the sentence where the relative clause is correctly punctuated as non-defining:
A non-defining relative clause is enclosed by two commas (or a comma and a period at sentence end). Option C correctly wraps ", which was provisioned in Frankfurt," with commas on both sides. Option B is missing the closing comma. Option D misplaces the comma after "which". Option A is a defining clause (no commas) with a different meaning — implying we need the Frankfurt detail to identify which cluster.
5 / 16
Which sentence is most appropriate for formal technical documentation describing a component?
In technical documentation describing a single, already-identified component, a non-defining relative clause (", which...," with commas) is appropriate — the reader knows which module is meant, and the clause provides specification details. Option A is grammatically correct as a defining clause but the phrase "is the one responsible" is redundant and awkward. Option C uses "who" incorrectly. Option D uses "that" with a comma, which is always a grammatical error.
6 / 16
During a code review of the OrderService, Sarah points out: "The database connection pool size is set to 10. This is insufficient — the account balance is too low..." Which sentence correctly uses a defining relative clause to identify the specific issue?
A defining relative clause (introduced by 'which') *defines* or identifies the noun it modifies. Option 1 correctly uses 'which' to specify that the problem lies with the connection pool size being set to 10. Options 2 and 3 use incorrect phrasing for a relative clause, and option 4 contains unnecessary punctuation.
7 / 16
As a Senior DevOps Engineer, you're drafting a Slack message to inform the team about a recent monitoring alert. The alert indicates high CPU usage on the production database server. Your message reads: 'The database server, which is running our core application, has been experiencing elevated CPU levels.' Is this sentence correctly using a defining relative clause?
Defining relative clauses identify or define the noun they modify. In this case, 'which is running our core application' *defines* the database server – it tells us *what kind* of server it is. Options 2 and 3 have an incorrect word order and grammatical structure for a defining clause; option 4 is simply awkward phrasing.
8 / 16
During a code review of the OrderService, Sarah points out: "The database connection pool size is set to 10. This is insufficient — the account balance is too low..." Which sentence correctly uses a defining relative clause to identify the specific issue?
A defining relative clause (introduced by 'which') *defines* or identifies the noun it modifies. Option 1 correctly uses 'which' to specify that the problem lies with the connection pool size being set to 10. Options 2 and 3 use incorrect phrasing for a relative clause, and option 4 contains unnecessary punctuation.
9 / 16
As a Senior DevOps Engineer, you're drafting a Slack message to inform the team about a recent monitoring alert. The alert indicates high CPU usage on the production database server. Your message reads: 'The database server, which is running our core application, has been experiencing elevated CPU levels.' Is this sentence correctly using a defining relative clause?
Defining relative clauses identify or define the noun they modify. In this case, 'which is running our core application' *defines* the database server – it tells us *what kind* of server it is. Options 2 and 3 have an incorrect word order and grammatical structure for a defining clause; option 4 is simply awkward phrasing.
10 / 16
During a code review of the OrderService, Sarah points out: "The database connection pool size is set to 10. This is insufficient — the account balance is too low..." Which sentence correctly uses a defining relative clause to identify the specific issue?
A defining relative clause (introduced by 'which') *defines* or identifies the noun it modifies. Option 1 correctly uses 'which' to specify that the problem lies with the connection pool size being set to 10. Options 2 and 3 use incorrect phrasing for a relative clause, and option 4 contains unnecessary punctuation.
11 / 16
As a Senior DevOps Engineer, you're drafting a Slack message to inform the team about a recent monitoring alert. The alert indicates high CPU usage on the production database server. Your message reads: 'The database server, which is running our core application, has been experiencing elevated CPU levels.' Is this sentence correctly using a defining relative clause?
Defining relative clauses identify or define the noun they modify. In this case, 'which is running our core application' *defines* the database server – it tells us *what kind* of server it is. Options 2 and 3 have an incorrect word order and grammatical structure for a defining clause; option 4 is simply awkward phrasing.
12 / 16
John Doe, the lead developer on Project Phoenix, is known for his meticulous code. During a code review of the new authentication service, David comments: "The API endpoint /users/profile is crucial. It's currently undocumented—the team needs to create comprehensive documentation for it.". Which sentence demonstrates the correct use of a non-defining relative clause?
This question tests understanding of non-defining clauses. The relative clause 'which is crucial' provides extra information about the API endpoint and doesn't identify or define it. Option 1 correctly uses commas to set off this non-essential clause. Options 2 & 3 incorrectly use semicolons, and option 4 misplaces the commas.
13 / 16
During a Slack discussion about a recent deployment to production, Maria writes: 'The new caching layer is built using Redis. It's configured with a TTL of 60 seconds – this is important for minimizing database load.' Which sentence best illustrates the use of a defining relative clause?
Defining relative clauses are essential to the main clause's meaning. Here, 'which is configured with a TTL of 60 seconds' *identifies* the caching layer – it specifies *which* Redis configuration we're talking about. Options 1 & 2 use incorrect punctuation and sentence structure for defining clauses, while option 4 uses a non-defining clause.
14 / 16
As part of a PR review, Alex notes: 'The service utilizes the Kafka connector. The connector version is v2.3.1 – this ensures compatibility with our existing infrastructure.' Which sentence correctly employs a non-defining relative clause?
This question focuses on correctly punctuating a non-defining relative clause. The relative clause 'which version is v2.3.1' provides extra information about the Kafka connector and doesn't define or identify it. Using commas to set off this clause is crucial. Note that the original sentence contains a redundant phrase – specifying 'version' after 'connector' is unnecessary.
15 / 16
During a standup meeting, Ben says: 'We're currently trialing the new GraphQL API. The API allows developers to fetch data efficiently—it reduces network latency.' Which of the following sentences uses a defining relative clause correctly?
Defining relative clauses are integral to the main clause's meaning. Here, 'which allows developers to fetch data efficiently' *identifies* the GraphQL API – it specifies what this API does. Using commas is necessary for a correctly punctuated defining clause. Options 2 & 3 use incorrect punctuation and sentence structure.
16 / 16
In a code review comment, Sarah writes: 'The database schema is complex. The schema includes numerous tables—it's optimized for high transaction rates.' Which sentence demonstrates the proper use of a non-defining relative clause?
This question tests the ability to correctly punctuate a non-defining relative clause. The relative clause 'it includes numerous tables' provides additional information about the database schema without being essential to its definition. Using dashes is the standard way to signal a non-defining clause. Options 1 & 3 incorrectly use commas, and option 4 contains an unnecessary and awkwardly phrased addition.
What will I practise in "Defining vs Non-Defining Relative Clauses in Technical English — Grammar Exercise"?
Practise defining and non-defining relative clauses in technical English: that vs which, comma rules, and IT examples.
How many exercises are in this module?
This module has 16 multiple-choice exercises, each with instant feedback and a full explanation of the correct answer.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
Do I need to create an account to do these exercises?
No account is required. Just click an option to answer — your score for this session is tracked automatically in the progress bar above.
What happens if I choose the wrong answer?
You'll immediately see which answer was correct, plus a full explanation covering the grammar rule and reasoning behind it — mistakes are where most of the learning happens.
Can I retry the exercises if I want a higher score?
Yes — use the "Try again" button on the results screen to reset and go through all the questions again.
Is my progress saved if I close the page?
No. Progress is tracked only for your current visit; reloading or leaving the page resets the counter. This keeps the exercise simple and account-free.
Where can I find more Grammar exercises?
Browse the full Grammar hub for related drills, or check the "Next up" link below to continue with a connected topic.
How is this different from reading an article on the same topic?
Articles explain grammar rules in prose; this exercise tests and reinforces those rules through active recall with immediate feedback — the two work best together.
Who writes these exercises?
Every exercise is written by the CoderSlingo team, drawing on real workplace English used in IT roles, then reviewed for accuracy and clarity.