Grammar: Past Modals of Necessity and Criticism
Gramatică: Modale de trecut. Studiază regulile gramaticale pentru a exprima critici și regrete legate de decizii tehnice trecute.
Грамматика: Прошедшие модальные глаголы. Изучите грамматику для выражения критики и сожалений по поводу прошлых технических решений.

Past Modals of Necessity and Criticism
- We use past modals to talk about things we did or didn't do in the past, and to express criticism or regret about past technical choices.
- Structure
- Meaning
- Example
- needn't have + V3
- Did it, but it was unnecessary
- We needn't have written that quick-and-dirty script.
- didn't need to + V1
- Didn't do it (and maybe didn't know)
- Brian didn't need to refactor the whole module.
- could have + V3
- Had the ability/option, but didn't
- Kevin could have used a proper design pattern.
- ought to have + V3
- It was the right thing, but wasn't done
- The team ought to have future-proofed the database.
- was/were supposed to + V1
- An obligation or plan that wasn't met
- Lisa was supposed to sign off on the release.
- Remember
- Use needn't have when an action was completed but turned out to be completely unnecessary.
- Use didn't need to when an action was not necessary, regardless of whether you did it or not.
- Use could have to suggest alternative solutions that were possible in the past.
- Use ought to have to express moral obligation or professional regret about a past mistake.
- Examples
- Mark needn't have added that band-aid fix because the bug was already solved.
- We didn't need to build a custom cache for the server in Austin.
- Sarah could have avoided the database crash in Chicago.
- They ought to have checked the legacy code before deployment in Boston.
- Common mistakes
- We didn't need have deployed the hotfix.
- We needn't have deployed the hotfix.
- Kevin ought have refactored the class.
- Kevin ought to have refactored the class.
Complete the sentences
- Mark bought a new server in Seattle, but it was completely fine. He (needn't (buy)) ____ it.
- Sarah (ought (write)) ____ better documentation for the API in London.
- Brian (supposed (finish)) ____ the deployment in Manchester by noon yesterday.
- We didn't have any bugs, so Rachel (need (stay)) ____ late at the office in Oxford.
- Eric (could (prevent)) ____ the system failure in Bristol last week.
- The engineering team (supposed (test)) ____ the module before release.
Sources: photo by PNW Production on Pexels
Despre această lecție
Această lecție se concentrează pe arhitectură, decizii de design și gestionarea datoriei tehnice în proiecte software complexe. Vei învăța să exprimi critici și regrete legate de codul vechi folosind structuri gramaticale avansate.
Об этом уроке
Этот урок посвящен архитектуре, проектным решениям и управлению техническим долгом в сложных программных проектах. Вы научитесь выражать критику и сожаление по поводу старого кода, используя продвинутые грамматические структуры.